Ejemplo n.º 1
0
        public async Task StartTimerAsync(SocketGuildUser user, Discord.IRole role)
        {
            if (!Users.ContainsKey(user.Guild.Id))
            {
                Users.Add(user.Guild.Id, user);
            }
            if (!Roles.ContainsKey(user.Guild.Id))
            {
                Roles.Add(user.Guild.Id, role);
            }
            await user.RemoveRoleAsync(role);

            SetupTimer(user.Guild.Id);
            Timers[user.Guild.Id].Start();
        }
Ejemplo n.º 2
0
            public async Task AddNotification()
            {
                var guildUser = Context.User as SocketGuildUser;

                var userhasrole = guildUser.Roles.FirstOrDefault(x => x.Name == "notify");

                //if they already have the role assigned
                if (userhasrole != null)
                {
                    await ReplyAsync($"{guildUser.Mention} you already have notifications active!");

                    return;
                }

                var guildrole = guildUser.Guild.Roles.FirstOrDefault(x => x.Name == "notify");

                Discord.IRole     role       = null;
                SocketUserMessage outmessage = null;

                //if role doesn't exist
                if (guildrole == null)
                {
                    try
                    {
                        //try to create role and assign it
                        role = await Context.Guild.CreateRoleAsync("notify", color : Discord.Color.DarkOrange);
                        await ReplyAsync("Created a **notify** role as one did not already exist");
                    }
                    catch (Exception e)
                    {
                        await ReplyAsync("Could not create a role to notify, please check permissions or manually add");

                        return;
                    }
                }

                Console.WriteLine("adding role to user");
                await guildUser.AddRoleAsync(role);

                Console.WriteLine("Added notify role to user");

                outmessage = await ReplyAsync($"{guildUser.Mention} you will now be notified for upcoming streams!") as SocketUserMessage;

                await Context.Message.DeleteAsync();
            }
Ejemplo n.º 3
0
            public async Task DeleteNotification()
            {
                //check the user has the role
                var guildUser = Context.User as SocketGuildUser;
                var guildrole = guildUser.Roles.FirstOrDefault(x => x.Name == "notify");
                SocketUserMessage outmessage = null;

                Discord.IRole role = guildrole;
                if (guildrole == null)
                {
                    outmessage = await ReplyAsync("You don't have the notify role, wyd fam") as SocketUserMessage;
                }
                else
                {
                    await guildUser.RemoveRoleAsync(role);

                    outmessage = await ReplyAsync($"{guildUser.Mention} you will no longer be notified for upcoming streams!") as SocketUserMessage;
                }
                await Context.Message.DeleteAsync();
            }
Ejemplo n.º 4
0
 public Role(Discord.IRole discordRole)
 {
     Id   = discordRole.Id;
     Name = discordRole.Name;
 }
Ejemplo n.º 5
0
 public async Task MuteAsync(SocketGuildUser user, Discord.IRole role)
 {
     var protectionData = _protectionDatas.FirstOrDefault(x => x.GuildID == user.Guild.Id && x.UserID == user.Id);
     await protectionData.StartTimerAsync(user, role);
 }