首页 > 解决方案 > C# 编辑文本文件

问题描述

    [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 Bot。命令“ping”发送一个嵌入。在嵌入的描述中有一个称为点的整数,每次有人使用“ping”命令时,点的值应该得到+1。点的值位于名为 config.txt 的文本文件中。目前我正在尝试删除点的值(值为 1)并插入新值(值应为 2)。

标签: c#text-fileseditdiscord.net

解决方案


看起来您忘记再次写入文件了.. 读取和写入仅存储 ping 数的文件是单行的..

File.WriteAllText(
  @"c:\temp\ping.txt",    
  (int.Parse(File.ReadAllText(@"c:\temp\ping.txt"))+1).ToString()
);

如果您的文件包含其他内容,您将需要更多地参与阅读和写作......


推荐阅读