Пример #1
0
        public async Task RoleUnSetAsync(params SocketRole[] roles)
        {
            ulong     name = Context.Guild.Id;
            GuildData data;

            if (!GuildManager.CheckGuildData(name))
            {
                await ReplyAsync("No GuildData for this Guild!");

                return;
            }
            else
            {
                data = GuildManager.GetGuildData(name).Result;
            }

            foreach (SocketRole role in roles)
            {
                if (data.AssignableRoles.Contains(role.Id))
                {
                    data.AssignableRoles.Remove(role.Id);
                    await ReplyAsync($"Unset Role {role.Name} from self-apply!");
                }
            }
            await GuildManager.SetGuildData(data);
        }
Пример #2
0
        public async Task SetLogAsync(SocketChannel channel)
        {
            ulong chanID = channel.Id;

            if (GuildManager.CheckGuildData(Context.Guild.Id))
            {
                GuildData data = await GuildManager.GetGuildData(Context.Guild.Id);

                data.LogChannel = chanID;
                await GuildManager.SetGuildData(data);
            }
            else
            {
                GuildData data = new GuildData
                {
                    GuildID    = Context.Guild.Id,
                    LogChannel = chanID
                };
                await GuildManager.SetGuildData(data);
            }
        }
Пример #3
0
        public async Task RoleAsync(SocketRole role)
        {
            ulong        servID    = Context.Guild.Id;
            List <ulong> userRoles = new List <ulong>();

            foreach (SocketRole usrRole in Context.Guild.GetUser(Context.User.Id).Roles)
            {
                userRoles.Add(usrRole.Id);
            }


            if (GuildManager.CheckGuildData(servID))
            {
                GuildData data;
                data = GuildManager.GetGuildData(servID).Result;
                foreach (ulong roleID in data.AssignableRoles)
                {
                    if (roleID == role.Id)
                    {
                        if (userRoles.Contains(role.Id))
                        {
                            await Context.Guild.GetUser(Context.User.Id).RemoveRoleAsync(role);
                            await ReplyAsync($"Removed {role.Name}!");
                        }
                        else
                        {
                            await Context.Guild.GetUser(Context.User.Id).AddRoleAsync(role);
                            await ReplyAsync($"Added {role.Name}!");
                        }
                    }
                }
            }
            else
            {
                await ReplyAsync("No GuildData for this Guild!");
            }
        }