public async Task CreateAfk(AfkObject data) { Fields field = new Fields(); field.AddField("id", data.Id); field.AddField("isAfk", data.IsAfk); field.AddField("message", data.Message); await Base.CreateRecord(table, field); }
public async Task UpdateAfk(AfkObject data) { Fields field = new Fields(); field.AddField("isAfk", data.IsAfk); field.AddField("message", data.Message); var result = await Base.UpdateRecord(table, field, data.RecordId); Console.WriteLine($"Update AFK Result: {result.Success}"); Console.WriteLine($"Error: {result.AirtableApiError}"); }
private async Task TurnOffAfk(SocketCommandContext Context, AfkObject afk) { var user = Context.User as SocketGuildUser; var username = user.Nickname == null ? user.Username : user.Nickname; await user.ModifyAsync(x => { x.Nickname = username.Replace("[♡]", ""); }); afk.IsAfk = false; afk.Message = ""; await AfkDb.UpdateAfk(afk); await Context.Channel.SendMessageAsync("I have removed your AFK status."); }
public async Task <AfkObject> GetAfk(ulong id) { AfkObject afk = new AfkObject(); var records = await Base.ListRecords(table, filterByFormula : "{id} = " + id); foreach (var record in records.Records) { afk.Id = id; afk.IsAfk = Convert.ToBoolean(record.GetField("isAfk")); afk.Message = Convert.ToString(record.GetField("message")); afk.RecordId = record.Id; } return(afk); }
public async Task AfkCommand([Remainder] string message = "AFK") { bool check = await Db.CheckIfRecordExist(Context.User.Id); if (!check) { await Db.CreateAfk(new AfkObject { Id = Context.User.Id, IsAfk = true, Message = message }); } else { AfkObject afk = await Db.GetAfk(Context.User.Id); await Db.UpdateAfk(new AfkObject { Id = Context.User.Id, IsAfk = true, Message = message, RecordId = afk.RecordId }); } var user = Context.User as SocketGuildUser; string username = ""; if (user.Nickname == null) { username = user.Username; } else { username = user.Nickname; } await user.ModifyAsync(x => { x.Nickname = $"[♡] {username}"; }); await Context.Channel.SendMessageAsync($"<a:FLLotusChonkyBellyPats:707464562013896705> I set your afk status to: \"{message}\". Also I'm a very chonku so please giv cuddles<:FLChonkyLotuGibCuddle:711385587139084409>"); }
private async Task Message_Event(SocketMessage MessageParam) { var Message = MessageParam as SocketUserMessage; var Context = new SocketCommandContext(_Client, Message); if (Context.Message == null || Context.Message.Content == "") { return; } if (Context.User.IsBot) { return; } var mentions = Context.Message.MentionedUsers; if (mentions.Count != 0) { foreach (var user in mentions) { bool check = await AfkDb.CheckIfRecordExist(user.Id); if (check) { AfkObject afk = await AfkDb.GetAfk(user.Id); if (afk.IsAfk) { await AfkMessage(Context, afk); } } } } if (await AfkDb.CheckIfRecordExist(Context.User.Id)) { AfkObject afk = await AfkDb.GetAfk(Context.User.Id); if (afk.IsAfk) { await TurnOffAfk(Context, afk); } } int ArgsPos = 0; if (!(Message.HasStringPrefix(Config.Bot.Prefix, ref ArgsPos) || Message.HasMentionPrefix(_Client.CurrentUser, ref ArgsPos))) { return; } var Result = await _Commands.ExecuteAsync(Context, ArgsPos, _Service); if (!Result.IsSuccess && Result.Error != CommandError.UnknownCommand) { Console.WriteLine($"{DateTime.Now} at Command: {_Commands.Search(Context, ArgsPos).Commands[0].Command.Name} in {_Commands.Search(Context, ArgsPos).Commands[0].Command.Module.Name}] {Result.ErrorReason}"); var embed = new EmbedBuilder(); embed.WithTitle("***ERROR***"); embed.WithColor(Color.Red); if (Result.Error == CommandError.BadArgCount) { embed.WithDescription($"Missing Arguments\nThis commands needs the following arguments:\n{string.Join(", ", _Commands.Search(Context, ArgsPos).Commands[0].Command.Parameters.Select(p => p.Name))}"); } else { embed.WithDescription(Result.ErrorReason); } await Context.Channel.SendMessageAsync("", embed : embed.Build()); } }
private async Task AfkMessage(SocketCommandContext Context, AfkObject afk) { await Context.Channel.SendMessageAsync($"{Context.Guild.GetUser(afk.Id).Username} is afk: {afk.Message}"); }