问题描述
[Command("ping")]
public async Task Ping()
{
using (TextReader reader = File.OpenText("config.txt"))
{
int points = int.Parse(reader.ReadLine());
var pingembed = new EmbedBuilder()
{
//Optional color
Color = Color.Green,Title = "? Pong!",Description = "Bot | " + points + ":0 | Users"
};
await ReplyAsync("",false,pingembed.Build());
string configpoints = Convert.ToString(int.Parse(reader.ReadLine()));
configpoints = configpoints.Remove(1).Insert(1,Convert.ToString(points = points + 1));
}
}
我正在创建一个 discord 机器人。命令“ping”发送一个嵌入。在 Embed 的描述中,有一个称为 points 的整数,每次有人使用“ping”命令时,points 的值都应该得到 +1。 点的值位于名为 config.txt 的文本文件中。目前我正在尝试删除点的值(值为 1)并插入新值(值应为 2)。
解决方法
你好像又忘记写文件了..读写一个只存储ping数的文件是单行的..
File.WriteAllText(
@"c:\temp\ping.txt",(int.Parse(File.ReadAllText(@"c:\temp\ping.txt"))+1).ToString()
);
如果您的文件包含其他内容,您将需要更多地参与阅读和写作...