Пример #1
0
        public async Task SetChannelAsync(IChannel channel)
        {
            var guild    = ((SocketGuildChannel)Context.Channel).Guild;
            var settings = await _guildSettingsRepoistory.GetAsync(guild.Id);

            if (!await CheckPermission.CheckModPermission(
                    guild.OwnerId,
                    Context.User.Id,
                    settings.ModRoles,
                    ((SocketGuildUser)Context.User).Roles.Select(x => x.Id).ToList()
                    ))
            {
                await ReplyAsync("You don't have permission to do this!");

                return;
            }

            var current = await _singleStreamerSettingsRepository.GetAsync(guild.Id);

            if (current == null)
            {
                current = new Bot.Core.SingleStreamerSettings
                {
                    GuildId = guild.Id.ToString()
                };
            }
            current.ChannelId = channel.Id.ToString();

            await _singleStreamerSettingsRepository.SaveAsync(current);

            await ReplyAsync("Channel Set");
        }
Пример #2
0
        public async Task AddAsync(string twitchUsername)
        {
            var guild    = ((SocketGuildChannel)Context.Channel).Guild;
            var settings = await _guildSettingsRepoistory.GetAsync(guild.Id);

            if (!await CheckPermission.CheckModPermission(
                    guild.OwnerId,
                    Context.User.Id,
                    settings.ModRoles,
                    ((SocketGuildUser)Context.User).Roles.Select(x => x.Id).ToList()
                    ))
            {
                await ReplyAsync("You don't have permission to do this!");

                return;
            }

            var current = await _singleStreamerSettingsRepository.GetAsync(guild.Id);

            if (current == null)
            {
                current = new Bot.Core.SingleStreamerSettings
                {
                    GuildId = guild.Id.ToString()
                };
            }
            var user = await _twitchService.GetUserByLoginAsync(twitchUsername);

            if (user == null)
            {
                return;
            }

            current.UserId      = user.Id;
            current.DisplayName = user.DisplayName;
            await _singleStreamerSettingsRepository.SaveAsync(current);

            await ReplyAsync("Single streamer set");
        }