public AnnounceService(IDependencyMap map) { Database = map.Get <BotDbContext>(); Client = map.Get <DiscordSocketClient>(); //TODO(james7132): make these messages configurable const string JoinMsg = "$mention has joined the server."; const string LeaveMsg = "**$user** has left the server."; const string BanMsg = "**$user** has been banned."; Client.UserJoined += u => GuildMessage(c => c.JoinMessage, JoinMsg)(u, u.Guild); Client.UserLeft += u => GuildMessage(c => c.LeaveMessage, LeaveMsg)(u, u.Guild); Client.UserBanned += GuildMessage(c => c.BanMessage, BanMsg); Client.UserVoiceStateUpdated += VoiceStateChanged; }
public static async Task DoGuildMessage(GuildMessage gm) { if (gm == null) { return; } EmbedBuilder embedBuilder = new EmbedBuilder() { Color = gm.color, Footer = new EmbedFooterBuilder() { Text = "abbybot" } }; if (gm.imgurl != "") { embedBuilder.ImageUrl = gm.imgurl; } embedBuilder.Title = gm.message; var channel = gm.guild.GetTextChannel(gm.channelId); Embed emb = embedBuilder.Build(); await channel.SendMessageAsync(null, false, emb); }
public static async Task <GuildMessage> GetGuildMessage(ulong id, string type) { GuildMessage g = null; var table2 = await AbbysqlClient.FetchSQL($"SELECT * FROM servermessages WHERE guildId ='{id}' && type = '{type}';"); foreach (AbbyRow row in table2) { g = new GuildMessage() { guildId = (ulong)row["guildId"], type = (row["type"] is string s) ? s : "", message = (row["message"] is string msg) ? msg : "", imgurl = (row["imagelink"] is string imlk) ? imlk : "", channelId = (ulong)row["channel"] }; } return(g); } }