0
我正在嘗試使用Discord Bot和discord.Net api包裝來實現日常支付系統(假服務器貨幣)。我的代碼似乎確實正確地更新了這個餘額並識別了日期變化,但似乎沒有記得誰收集了他們的日常付款。請幫忙。謝謝。不協調服務器的日常貨幣系統不能正常工作
using Discord.Commands;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AmberScript3.Modules
{
public class DailyMoney : ModuleBase<SocketCommandContext>
{
List<string> users = new List<string>();
string currentDate = DateTime.Now.ToString("yyyyMMdd");
[Command("money daily")]
public async Task DailyCash()
{
string author = Context.Message.Author.Username;
if(DateTime.Now.ToString("yyyyMMdd") != currentDate)
{
users.Clear();
}
if(users.Contains(author))
{
await Context.Channel.SendMessageAsync("You have already reclaimed your daily payment!");
}
else
{
users.Add(author);
Random r = new Random();
int seed = r.Next(1000);
double val = Math.Round(r.NextDouble() * seed, 2);
Money.AddBalance(Context.Message.Author.Username, val);
await Context.Channel.SendMessageAsync($"Added ${val} to {author}'s account as a daily payment.");
}
currentDate = DateTime.Now.ToString("yyyyMMdd");
}
}
}`
您可能需要將用戶保存在某處(文件,數據庫等)。每次這個類被實例化時,用戶列表都被重置。 – maccettura