Ejemplo n.º 1
0
        public async Task Approve(CommandContext ctx, [Description("Specify the member you want to add")]
                                  string member)
        {
            var memberId = TwitchTasks.ParseMemberToId(member);

            da.UpgradeStream(memberId, ctx.Guild.Id, 0);
            await ctx.RespondAsync($"Ok, I'll now `@here` mention for <@!{memberId}>'s Streams");

            await TwitchTasks.LogAction($"<@!{ctx.Member.Id}> has approved <@!{memberId}>'s Streams for `@here` mentions", ctx.Client);

            if (!TwitchOptions.AutoAssignRoles)
            {
                return;
            }
            var verifiedRoleIdRequest = da.GetSettingsForGuild(ctx.Guild.Id, "VerifiedRole");

            if (verifiedRoleIdRequest.Rows.Count == 0)
            {
                return;
            }
            if (string.IsNullOrWhiteSpace(verifiedRoleIdRequest.Rows[0]["biValue"].ToString()))
            {
                return;
            }
            var verifiedRoleId       = ulong.Parse(verifiedRoleIdRequest.Rows[0]["biValue"].ToString() !);
            var verifiedStreamerRole = ctx.Guild.GetRole(verifiedRoleId);
            var discordMember        = await ctx.Guild.GetMemberAsync(memberId);

            await discordMember.GrantRoleAsync(verifiedStreamerRole);
        }
Ejemplo n.º 2
0
        public async Task RemoveStream(CommandContext ctx, [Description("Mention the user to remove")]  string mention)
        {
            var memberId = TwitchTasks.ParseMemberToId(mention);
            await ctx.Message.DeleteAsync();

            da.DeleteStream(memberId.ToString(), ctx.Guild.Id.ToString());
            await ctx.RespondAsync($"Stream Removed For <@!{memberId}>");

            await TwitchTasks.LogAction($"<@!{ctx.Member.Id}> has removed stream notifications for <@!{memberId}>", ctx.Client);

            if (!TwitchOptions.AutoAssignRoles)
            {
                return;
            }

            var member = await ctx.Guild.GetMemberAsync(memberId);

            var StreamerRole         = GetRoleFromId(ctx.Guild.Id, "StreamerRole", ctx);
            var VerifiedStreamerRole = GetRoleFromId(ctx.Guild.Id, "VerifiedRole", ctx);
            await member.RevokeRoleAsync(VerifiedStreamerRole);

            await member.RevokeRoleAsync(StreamerRole);

            await TwitchTasks.LogAction($"Roles removed stream notifications for <@!{memberId}>", ctx.Client);
        }
Ejemplo n.º 3
0
        public async Task AddStreamUser(CommandContext ctx, [Description("Your Channel Name")] string channel)
        {
            var memberId = ctx.Member.Id;
            await ctx.Message.DeleteAsync();

            if (da.CanAddStream(channel, ctx.Guild.Id, ctx.Member.Id) > 0)
            {
                await ctx.RespondAsync("Failed To Add Stream, Member or Stream Already Added");

                return;
            }
            da.AddStream(Uri.EscapeUriString(channel), memberId, ctx.Guild.Id);
            await ctx.RespondAsync($"<@!{memberId}>, I will add you to the Stream Notifications Channel");

            await TwitchTasks.LogAction($"<@!{memberId}> has enabled Stream Announcements for https://twitch.tv/" + $"{channel}", ctx.Client);

            if (!TwitchOptions.AutoAssignRoles)
            {
                return;
            }

            var streamerRole = GetRoleFromId(ctx.Guild.Id, "StreamerRole", ctx);

            await ctx.Member.GrantRoleAsync(streamerRole);
        }
Ejemplo n.º 4
0
        public async Task RemoveStreamUser(CommandContext ctx)
        {
            var memberId = ctx.Member.Id;
            await ctx.Message.DeleteAsync();

            da.DeleteStream(memberId.ToString(), ctx.Guild.Id.ToString());
            await ctx.RespondAsync($"<@!{memberId}>, I will stop announcing your stream in Stream Notifications Channel");

            await TwitchTasks.LogAction($"<@!{memberId}> has removed Stream Announcements", ctx.Client);

            if (!TwitchOptions.AutoAssignRoles)
            {
                return;
            }

            var member = await ctx.Guild.GetMemberAsync(memberId);

            var StreamerRole         = GetRoleFromId(ctx.Guild.Id, "StreamerRole", ctx);
            var VerifiedStreamerRole = GetRoleFromId(ctx.Guild.Id, "VerifiedRole", ctx);
            await member.RevokeRoleAsync(VerifiedStreamerRole);

            await member.RevokeRoleAsync(StreamerRole);

            await TwitchTasks.LogAction($"Roles removed stream notifications for <@!{memberId}>", ctx.Client);
        }
Ejemplo n.º 5
0
        public async Task AddStream(CommandContext ctx, [Description("Specify the Twitch channel you want to add")] string channel,
                                    [Description("Mention the user to add")] string mention, [Description("Ping Here")] int ping)
        {
            var memberId = TwitchTasks.ParseMemberToId(mention);
            await ctx.Message.DeleteAsync();

            if (da.CanAddStream(channel, ctx.Guild.Id, ctx.Member.Id) > 0)
            {
                await ctx.RespondAsync("Failed To Add Stream, Member or Stream Already Added");

                return;
            }
            da.AddStream(channel, memberId, ctx.Guild.Id, ping);
            await ctx.RespondAsync($"{channel} has been added for <@!{memberId}>!");

            await TwitchTasks.LogAction($"<@!{ctx.Member.Id}> has enabled Stream Announcements for user <@!{memberId}> and channel https://twitch.tv/"
                                        + $"{channel}", ctx.Client);

            if (!TwitchOptions.AutoAssignRoles)
            {
                return;
            }
            try
            {
                var member = await ctx.Guild.GetMemberAsync(memberId);


                var streamerRole = GetRoleFromId(ctx.Guild.Id, "StreamerRole", ctx);

                await member.GrantRoleAsync(streamerRole);

                if (ping != 1)
                {
                    return;
                }

                var verifiedStreamerRole = GetRoleFromId(ctx.Guild.Id, "VerifiedRole", ctx);
                await member.GrantRoleAsync(verifiedStreamerRole);
            }
            catch (Exception e)
            {
                Ttv.Logger.LogError($"Error Assigning Roles {e.Message}");
            }
        }