예제 #1
0
        public async Task SendProfile(
            [Summary("User to show the picture of, if none given will show your own!")] IUser user = null)
        {
            var typing   = Context.Channel.EnterTypingState(null);
            var userInfo = user ?? Context.User;
            await epService.ShowProfile(Context, userInfo);

            typing.Dispose();
        }
예제 #2
0
        public async Task SendProfile(
            [Summary("User to show the picture of, if none given will show your own!")] SocketGuildUser user = null)
        {
            var          User           = user ?? Context.Message.Author as SocketGuildUser;
            var          Config         = GuildHandler.GuildConfigs[User.Guild.Id];
            var          JoinChannel    = User.Guild.GetChannel(Config.JoinEvent.TextChannel);
            string       WelcomeMessage = "";
            ITextChannel Channel;

            WelcomeMessage = Config.WelcomeMessages;

            if (User.Guild.GetChannel(Config.JoinEvent.TextChannel) != null)
            {
                var replace = StringExtension.ReplaceWith(Config.WelcomeMessages, User.Username + "#" + User.Discriminator, User.Guild.Name);
                WelcomeMessage = Config.WelcomeMessages;

                Channel = JoinChannel as ITextChannel;


                await epService.ShowProfile("Welcome to the server", User.Guild.Id, User, JoinChannel as ITextChannel, Config.callcard.CardBg);
            }
        }
예제 #3
0
        public CommandHandler(IServiceProvider provider)
        {
            Provider = provider;

            _client = Provider.GetService <DiscordSocketClient>();
            _cmds   = new CommandService();
            InitializeLoader();

            GuildHandler             = Provider.GetService <GuildHandler>();
            EventHandler             = Provider.GetService <Events>();
            _client.MessageReceived += HandleCommandAsync;
            _cmds                    = Provider.GetService <CommandService>();
            _epService               = provider.GetService <EPService>();
            _client.UserJoined      += Events.UserJoinedAsync;
            _client.UserLeft        += Events.UserLeftAsync;
            _client.LeftGuild       += Events.DeleteGuildConfig;
            _client.GuildAvailable  += Events.HandleGuildConfigAsync;
            _client.MessageReceived += Events.HandleGuildMessagesAsync;
            _client.JoinedGuild     += async(Guild) =>
            {
                await Events.JoinedGuildAsync(Guild);
            };

            _client.UserJoined += async(user) =>
            {
                var Config = GuildHandler.GuildConfigs[user.Guild.Id];
                var muted  = Config.MutedList.Select(x => x.id);
                if (muted.Contains(user.Id))
                {
                    var muteRole = user.Guild.GetRole(Config.MuteRoleID);
                    await user.AddRoleAsync(muteRole);

                    await user.ModifyAsync(x => x.Mute = true);
                }
                return;
            };

            _client.UserJoined += async(user) =>
            {
                var Config = GuildHandler.GuildConfigs[user.Guild.Id];
                var role   = Config.JoinRole.roleid;
                if (Config.JoinRole.IsEnabled == true)
                {
                    var joinrole = user.Guild.GetRole(role);
                    await user.AddRoleAsync(joinrole);

                    await user.ModifyAsync(x => x.Mute = true);
                }
                return;
            };

            _client.UserBanned   += Events.OnUserBanned;
            _client.UserUnbanned += Events.OnUserUnBanned;

            _client.UserBanned += async(User, Guild) =>
            {
                var Config = GuildHandler.GuildConfigs[Guild.Id];
                var muted  = Config.MutedList.Select(x => x.id);
                var muts   = Config.MutedList.Where(x => x.id == User.Id).FirstOrDefault();
                if (muted.Contains(User.Id))
                {
                    Config.MutedList.Remove(muts);
                }



                await GuildHandler.SaveAsync(GuildHandler.GuildConfigs);
            };

            _client.UserJoined += async(User) =>
            {
                var Config = GuildHandler.GuildConfigs[User.Guild.Id];
                if (!Config.JoinEvent.IsEnabled == false && Config.Error.OnOff == true && Config.textwelcome.OnOff == false)
                {
                    ITextChannel Channel        = null;
                    string       WelcomeMessage = "Welcome to the server";

                    var JoinChannel = User.Guild.GetChannel(Config.JoinEvent.TextChannel);


                    if (User.Guild.GetChannel(Config.JoinEvent.TextChannel) != null)
                    {
                        WelcomeMessage = "Welcome to the server";

                        Channel = JoinChannel as ITextChannel;

                        await _epService.ShowProfile(WelcomeMessage, User.Guild.Id, User, JoinChannel as ITextChannel, Config.callcard.CardBg);

                        return;
                    }
                    else
                    {
                        WelcomeMessage = "Welcome to the server";

                        Channel = User.Guild.DefaultChannel as ITextChannel;

                        await _epService.ShowProfile(WelcomeMessage, User.Guild.Id, User, Channel, Config.callcard.CardBg);

                        return;
                    }
                }
                else
                {
                    return;
                }
            };
        }