public async Task SetBotStream(string streamer, [Remainder] string streamName) { await Program._client.SetGameAsync(streamName, $"https://twitch.tv/{streamer}", ActivityType.Streaming); var embed = MiscHelpers.CreateEmbed(Context, "Set Bot Streaming", $"Set the stream name to **{streamName}**, and set the streamer to <https://twitch.tv/{streamer}>!").WithColor(37, 152, 255); await MiscHelpers.SendMessage(Context, embed); }
public async Task UnblockChannel() { var guildUser = Context.User as SocketGuildUser; if (!guildUser.GuildPermissions.ManageChannels) { string description = $"{Global.ENo} **|** You Need the **Manage Channels** Permission to do that {Context.User.Username}"; var errorEmbed = EmbedHandler.CreateEmbed(Context, "Error", description, EmbedHandler.EmbedMessageType.Exception); await ReplyAndDeleteAsync("", embed : errorEmbed); return; } var config = BotAccounts.GetAccount(); config.BlockedChannels.Remove(Context.Channel.Id); BotAccounts.SaveAccounts(); var embed = MiscHelpers .CreateEmbed(Context, "Channel Unblocked", $":unlock: Unblocked {Context.Channel.Name}.") .WithColor(Constants.DefaultColor); await SendMessage(Context, embed.Build()); }
public async Task SoftBan(SocketGuildUser user) { var guildUser = Context.User as SocketGuildUser; var config = GlobalGuildAccounts.GetGuildAccount(Context.Guild.Id); if (guildUser.GuildPermissions.BanMembers) { try { var embed = MiscHelpers.CreateEmbed(Context, "SoftBan", $"{Context.User.Mention} SoftBanned <@{user.Id}>, deleting the last 7 days of messages from that user."); await MiscHelpers.SendMessage(Context, embed); await Context.Guild.AddBanAsync(user, 7); await Context.Guild.RemoveBanAsync(user); } catch { await ReplyAsync(":hand_splayed: | You must mention a valid user"); } } else { var embed = new EmbedBuilder(); embed.WithColor(37, 152, 255); embed.Title = $":x: | You need the Ban Members Permission to do that {Context.User.Username}"; await ReplyAndDeleteAsync("", embed : embed.Build(), timeout : TimeSpan.FromSeconds(5)); } }
public async Task SoftBan(SocketGuildUser user) { var guildUser = Context.User as SocketGuildUser; if (!guildUser.GuildPermissions.BanMembers) { string description = $"{Global.ENo} **|** You Need the **Ban Members** Permission to do that {Context.User.Username}"; var errorEmbed = EmbedHandler.CreateEmbed(Context, "Error", description, EmbedHandler.EmbedMessageType.Exception); await ReplyAndDeleteAsync("", embed : errorEmbed); } try { var embed = MiscHelpers.CreateEmbed(Context, "SoftBan", $"{Context.User.Mention} SoftBanned <@{user.Id}>, deleting the last 7 days of messages from that user."); await SendMessage(Context, embed.Build()); await Context.Guild.AddBanAsync(user, 7); await Context.Guild.RemoveBanAsync(user); } catch { var embed = EmbedHandler.CreateEmbed(Context, "Error", "🖐️ **|** You must enter a valid user", EmbedHandler.EmbedMessageType.Exception); await ReplyAndDeleteAsync("", embed : embed); } }
public async Task UnlockChannel() { var guildUser = Context.User as SocketGuildUser; if (!guildUser.GuildPermissions.ManageChannels) { string description = $"{Global.ENo} **|** You Need the **Manage Channels** Permission to do that {Context.User.Username}"; var errorEmbed = EmbedHandler.CreateEmbed(Context, "Error", description, EmbedHandler.EmbedMessageType.Exception); await ReplyAndDeleteAsync("", embed : errorEmbed); return; } var chnl = Context.Channel as ITextChannel; var role = Context.Guild.Roles.FirstOrDefault(r => r.Name == "@everyone"); var perms = new OverwritePermissions( sendMessages: PermValue.Allow ); await chnl.AddPermissionOverwriteAsync(role, perms); var embed = MiscHelpers .CreateEmbed(Context, "Channel Unlocked", $":unlock: Unlocked {Context.Channel.Name}.") .WithColor(Global.NayuColor); await SendMessage(Context, embed.Build()); }
public async Task SetServerLoggingChannel(string arg) { var guser = Context.User as SocketGuildUser; if (guser.GuildPermissions.Administrator) { var result = ConvertBool.ConvertStringToBoolean(arg); if (result.Item1 == true) { bool setting = result.Item2; var chnl = Context.Guild.TextChannels.FirstOrDefault(r => r.Name == "logs"); if (chnl == null) { var role = Context.Guild.Roles.FirstOrDefault(r => r.Name == "@everyone"); var perms = new OverwritePermissions( viewChannel: PermValue.Deny ); var channell = await Context.Guild.CreateTextChannelAsync("logs"); await channell.AddPermissionOverwriteAsync(role, perms); } var chnl1 = Context.Guild.TextChannels.FirstOrDefault(r => r.Name == "logs"); var channel = chnl1 as SocketTextChannel; string lol; var config = GlobalGuildAccounts.GetGuildAccount(Context.Guild.Id); if (setting) { lol = "Enabled server logging"; } else { lol = "Disabled server logging"; } ulong id = channel.Id; config.IsServerLoggingEnabled = setting; config.ServerLoggingChannel = id; GlobalGuildAccounts.SaveAccounts(); var embed = MiscHelpers.CreateEmbed(Context, "Server Logging", $"{lol}, and set the channel to <#{channel.Id}>.").WithColor(37, 152, 255); await MiscHelpers.SendMessage(Context, embed); } if (result.Item1 == false) { await Context.Channel.SendMessageAsync($"Please say `w!sl <on/off>`"); return; } } else { var embed = new EmbedBuilder(); embed.WithColor(37, 152, 255); embed.Title = $":x: | You Need the Administrator Permission to do that {Context.User.Username}"; await ReplyAndDeleteAsync("", embed : embed.Build(), timeout : TimeSpan.FromSeconds(5)); } }
public async Task ShowGeniusLyrics() { if (!_lavaNode.TryGetPlayer(Context.Guild, out var player)) { await ReplyAndDeleteAsync($"{Global.ENo} | I'm not connected to a voice channel."); return; } if (player.PlayerState != PlayerState.Playing) { await ReplyAndDeleteAsync($"{Global.ENo} | A track must be playing for me to get its lyrics."); return; } var lyrics = await player.Track.FetchLyricsFromGeniusAsync(); if (string.IsNullOrWhiteSpace(lyrics)) { await ReplyAndDeleteAsync($"{Global.ENo} | No lyrics found for {player.Track.Title}"); return; } var splitLyrics = lyrics.Split('\n'); var stringBuilder = new StringBuilder(); foreach (var line in splitLyrics) { if (Range.Contains(stringBuilder.Length)) { var embedd = MiscHelpers.CreateEmbed(Context, "", stringBuilder.ToString()); await ReplyAsync("", embed : embedd.Build()); stringBuilder.Clear(); } else { stringBuilder.AppendLine(line); } } var embed = MiscHelpers.CreateEmbed(Context, "", stringBuilder.ToString()); await ReplyAsync("", embed : embed.Build()); }
public async Task SetUsersNickname(SocketGuildUser user, [Remainder] string nick) { var guser = Context.User as SocketGuildUser; if (guser.GuildPermissions.ManageMessages) { await user.ModifyAsync(x => x.Nickname = nick); var embed = MiscHelpers.CreateEmbed(Context, "User Nicked", $"Set <@{user.Id}>'s nickname on this server to **{nick}**!").WithColor(37, 152, 255); await MiscHelpers.SendMessage(Context, embed); } else { var embed = new EmbedBuilder(); embed.WithColor(37, 152, 255); embed.Title = $":x: | You Need the Administrator Permission to do that {Context.User.Username}"; await ReplyAndDeleteAsync("", embed : embed.Build(), timeout : TimeSpan.FromSeconds(5)); } }
public async Task SetUsersNickname(SocketGuildUser user, [Remainder] string nick) { var guildUser = Context.User as SocketGuildUser; if (!guildUser.GuildPermissions.ManageNicknames) { string description = $"{Global.ENo} **|** You Need the **Manage Nicknames** Permission to do that {Context.User.Username}"; var errorEmbed = EmbedHandler.CreateEmbed(Context, "Error", description, EmbedHandler.EmbedMessageType.Exception); await ReplyAndDeleteAsync("", embed : errorEmbed); return; } await user.ModifyAsync(x => x.Nickname = nick); var embed = MiscHelpers .CreateEmbed(Context, "User Nicked", $"Set <@{user.Id}>'s nickname on this server to **{nick}**!") .WithColor(Global.NayuColor); await SendMessage(Context, embed.Build()); }
public async Task UnlockChannel() { var guser = Context.User as SocketGuildUser; if (guser.GuildPermissions.ManageChannels) { var chnl = Context.Channel as ITextChannel; var role = Context.Guild.Roles.FirstOrDefault(r => r.Name == "@everyone"); var perms = new OverwritePermissions( sendMessages: PermValue.Allow ); await chnl.AddPermissionOverwriteAsync(role, perms); var embed = MiscHelpers.CreateEmbed(Context, "Channel Unlocked", $":unlock: Unlocked {Context.Channel.Name}.").WithColor(37, 152, 255); await MiscHelpers.SendMessage(Context, embed); } else { var embed = new EmbedBuilder(); embed.WithColor(37, 152, 255); embed.Title = $":x: | You Need the Manage Channels Permission to do that {Context.User.Username}"; await ReplyAndDeleteAsync("", embed : embed.Build(), timeout : TimeSpan.FromSeconds(5)); } }
public async Task MasterConfig() { var guser = Context.User as SocketGuildUser; if (guser.GuildPermissions.Administrator) { var config = GlobalGuildAccounts.GetGuildAccount(Context.Guild.Id); var embed = MiscHelpers.CreateEmbed(Context, Context.Guild.Name, $"Server ID: {config.Id}\n" + $"Owner: <@{config.GuildOwnerId}>"); string helperRole = "**Not set**"; string modRole = "**Not set**"; string adminRole = "**Not set**"; if (config.ModRole != 0) { modRole = $"**{Context.Guild.Roles.First(role => role.Id == config.ModRole).Name}**"; } else if (config.AdminRole != 0) { adminRole = $"**{Context.Guild.Roles.First(role => role.Id == config.ModRole).Name}**"; } else if (config.HelperRole != 0) { helperRole = $"**{Context.Guild.Roles.First(role => role.Id == config.HelperRole).Name}**"; } var welcomemessages = ""; for (var i = 0; i < config.WelcomeMessages.Count; i++) { welcomemessages = (config.WelcomeMessages[i]); } var leavemessages = ""; for (var i = 0; i < config.LeaveMessages.Count; i++) { leavemessages = (config.LeaveMessages[i]); } if (config.WelcomeChannel != 0) { embed.AddField("Welcome/Leaving", "On:\n" + $"- Welcome Channel: <#{config.WelcomeChannel}>\n" + $"- Leave Channel: <#{config.LeaveChannel}>\n" + $"- WelcomeMsg: {welcomemessages}\n" + $"- LeavingMsg: {leavemessages}", true); } else { embed.AddField("Welcome/Leaving", "Off", true); } embed.AddField("Other", $"Antilink: {ConvertBoolean(config.Antilink)}\n" + $"Mass Ping Checks: {ConvertBoolean(config.MassPingChecks)}\n" + $"Blacklist: {ConvertBoolean(config.Filter)}\n" + $"Autorole: {config.Autorole}\n" + $"Leveling: {ConvertBoolean(config.Leveling)}\n" + $"Server Logging: {ConvertBoolean(config.IsServerLoggingEnabled)}\n" + $"Unflipping: {ConvertBoolean(config.Unflip)}\n" + $"Helper Role: {helperRole}\n" + $"Mod Role: {modRole}\n" + $"Admin Role: {adminRole}\n", true); embed.WithThumbnailUrl(Context.Guild.IconUrl); embed.WithFooter("Guild Information is shown incorrectly or not shown at all? Use `w!syncguild` to sync the current server owner!"); await MiscHelpers.SendMessage(Context, embed); } else { var embed = new EmbedBuilder(); embed.WithColor(37, 152, 255); embed.Title = $":x: | You Need the Administrator Permission to do that {Context.User.Username}"; await ReplyAndDeleteAsync("", embed : embed.Build(), timeout : TimeSpan.FromSeconds(5)); } }
public async Task SayHello() { var embed = MiscHelpers.CreateEmbed(Context, "Hello!", "My name is Wsashi, a bot created by Phytal! (And possibly your Waifu..)").WithImageUrl(Global.Client.CurrentUser.GetAvatarUrl()); await MiscHelpers.SendMessage(Context, embed); }
public async Task MasterConfig() { var guildUser = Context.User as SocketGuildUser; if (!guildUser.GuildPermissions.Administrator) { string description = $"{Global.ENo} **|** You Need the **Administrator** Permission to do that {Context.User.Username}"; var errorEmbed = EmbedHandler.CreateEmbed(Context, "Error", description, EmbedHandler.EmbedMessageType.Exception); await ReplyAndDeleteAsync("", embed : errorEmbed); } var config = GlobalGuildAccounts.GetGuildAccount(Context.Guild.Id); var embed = MiscHelpers.CreateEmbed(Context, Context.Guild.Name, $"Server ID: {config.Id}\n" + $"Owner: <@{config.GuildOwnerId}>"); var welcomemessages = ""; for (var i = 0; i < config.WelcomeMessages.Count; i++) { welcomemessages = (config.WelcomeMessages[i]); } var leavemessages = ""; for (var i = 0; i < config.LeaveMessages.Count; i++) { leavemessages = (config.LeaveMessages[i]); } if (config.WelcomeChannel != 0) { embed.AddField("Welcome/Leaving", "On:\n" + $"- Welcome Channel: <#{config.WelcomeChannel}>\n" + $"- Leave Channel: <#{config.LeaveChannel}>\n" + $"- Welcome Messages: {string.Join(", ", config.WelcomeMessages.ToArray())}\n" + $"- Leaving Messges: {string.Join(", ", config.LeaveMessages.ToArray())}", true); } else { embed.AddField("Welcome/Leaving", "Off", true); } var antiLinkIgnoredChannels = "#" + string.Join(", #", config.AntilinkIgnoredChannels.ToArray()); embed.AddField("Other", $"Antilink: {ConvertBoolean(config.Antilink)}\n" + $"AutoRole: {config.AutoRole}\n" + $"Anti-link Ignored Channels: {antiLinkIgnoredChannels}\n" + $"Blacklist: {ConvertBoolean(config.Filter)}\n" + $"Custom Blacklist: {string.Join(", ", config.CustomFilter.ToArray())}\n" + $"Custom Currency: {config.Currency}\n" + $"Custom Prefix: {config.CommandPrefix}\n" + $"Slow mode: {ConvertBoolean(config.IsSlowModeEnabled)}\n" + $"Leveling: {ConvertBoolean(config.Leveling)}\n" + $"Mass Ping Checks: {ConvertBoolean(config.MassPingChecks)}\n" + $"Unflipping: {ConvertBoolean(config.Unflip)}\n"); embed.WithThumbnailUrl(Context.Guild.IconUrl); embed.WithFooter( "Guild Information is shown incorrectly or not shown at all? Use `n!syncguild` to sync the current server owner!"); await SendMessage(Context, embed.Build()); }