예제 #1
0
        async Task CleverbotHandlerAsync(SocketMessage Message, GuildModel Config)
        {
            string UserMessage = Message.Content.ToLower().Replace("valerie", string.Empty);

            if (!Message.Content.ToLower().StartsWith("valerie") || string.IsNullOrWhiteSpace(UserMessage) ||
                Message.Channel.Id != Config.CleverbotWebhook.TextChannel)
            {
                return;
            }
            Response CleverResponse;

            if (!CleverbotTracker.ContainsKey(Config.CleverbotWebhook.TextChannel))
            {
                CleverResponse = await ConfigHandler.Cookie.Cleverbot.TalkAsync(UserMessage);

                CleverbotTracker.Add(Config.CleverbotWebhook.TextChannel, CleverResponse);
            }
            else
            {
                CleverbotTracker.TryGetValue(Config.CleverbotWebhook.TextChannel, out CleverResponse);
                CleverResponse = await ConfigHandler.Cookie.Cleverbot.TalkAsync(UserMessage);

                CleverbotTracker[Config.CleverbotWebhook.TextChannel] = CleverResponse;
            }
            await WebhookService.SendMessageAsync(new WebhookOptions
            {
                Message = CleverResponse.CleverOutput,
                Name    = "Cleverbot",
                Webhook = Config.CleverbotWebhook
            });
        }
예제 #2
0
 internal async Task UserLeftAsync(SocketGuildUser User)
 {
     var Config = GuildHandler.GetGuild(User.Guild.Id);
     await WebhookService.SendMessageAsync(new WebhookOptions
     {
         Name    = Client.CurrentUser.Username,
         Webhook = Config.LeaveWebhook,
         Message = !Config.LeaveMessages.Any() ? $"**{User.Username}** abandoned us! {Emotes.Squint}"
         : StringHelper.Replace(Config.LeaveMessages[Random.Next(0, Config.LeaveMessages.Count)], User.Guild.Name, User.Username)
     });
 }
예제 #3
0
        internal async Task UserJoinedAsync(SocketGuildUser User)
        {
            var Config = GuildHandler.GetGuild(User.Guild.Id);
            await WebhookService.SendMessageAsync(new WebhookOptions
            {
                Name    = Client.CurrentUser.Username,
                Webhook = Config.JoinWebhook,
                Message = !Config.JoinMessages.Any() ? $"**{User.Username}** is here to rock our world! Yeah, baby!"
                : StringHelper.Replace(Config.JoinMessages[Random.Next(0, Config.JoinMessages.Count)], User.Guild.Name, User.Mention)
            });

            var Role = User.Guild.GetRole(Config.Mod.JoinRole);

            if (Role != null)
            {
                await User.AddRoleAsync(Role).ConfigureAwait(false);
            }
        }