Example #1
0
        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;
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
    }