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); }
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); }
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); }
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); }
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}"); } }