Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.47 KB | None | 0 0
  1. private void moderacao(int tipo, CommandContext context, object[] args)
  2. {
  3. if (!context.IsPrivate)
  4. {
  5. new Thread(() =>
  6. {
  7. string[] comando = (string[])args[1];
  8. string msg = string.Join(" ", comando, 1, (comando.Length - 1));
  9.  
  10. Tuple<IUser, string> getUser = new Extensions.UserExtensions().GetUser(context.Guild.GetUsersAsync().GetAwaiter().GetResult(), msg);
  11.  
  12. if (getUser.Item1 != null)
  13. {
  14. SocketGuildUser user = getUser.Item1 as SocketGuildUser;
  15. SocketGuildUser author = context.User as SocketGuildUser;
  16. SocketGuildUser bot = context.Guild.GetUserAsync(context.Client.CurrentUser.Id).GetAwaiter().GetResult() as SocketGuildUser;
  17.  
  18. EmbedBuilder embed = new EmbedBuilder();
  19. embed.WithColor(Color.Red);
  20.  
  21. bool perm = false, botPerm = false;
  22. switch (tipo)
  23. {
  24. case 1:
  25. perm = author.GuildPermissions.KickMembers;
  26. botPerm = bot.GuildPermissions.KickMembers;
  27. embed.WithDescription($"**{context.User}** você não pode expulsar esse usuario");
  28. break;
  29. case 2:
  30. case 3:
  31. perm = author.GuildPermissions.BanMembers;
  32. botPerm = bot.GuildPermissions.BanMembers;
  33. embed.WithDescription($"**{context.User}** você não pode banir esse usuario");
  34. break;
  35. }
  36.  
  37. if (author.Hierarchy > user.Hierarchy && user != bot && bot.Hierarchy > user.Hierarchy && perm && botPerm)
  38. {
  39. string motivo = getUser.Item2;
  40. if (motivo.Length > 1024)
  41. {
  42. motivo = motivo.Substring(0, 1024);
  43. }
  44.  
  45. IDMChannel privado = user.GetOrCreateDMChannelAsync().GetAwaiter().GetResult();
  46.  
  47. EmbedBuilder embedo = new EmbedBuilder();
  48. embedo.WithColor(Color.DarkPurple);
  49.  
  50. switch (tipo)
  51. {
  52. case 1:
  53. if (motivo == "")
  54. {
  55. privado.SendMessageAsync(embed: new EmbedBuilder()
  56. .WithDescription($"você foi expulso do servidor: **{context.Guild.Name}**")
  57. .WithColor(Color.DarkPurple)
  58. .Build());
  59. motivo = $"Moderador: {context.User}";
  60. }
  61. else
  62. {
  63. privado.SendMessageAsync(embed: new EmbedBuilder()
  64. .WithDescription($"você foi expulso do servidor: **{context.Guild.Name}**")
  65. .AddField("Motivo:", motivo)
  66. .WithColor(Color.DarkPurple)
  67. .Build());
  68. motivo = $"Moderador: {context.User} || Motivo: {motivo}";
  69. }
  70.  
  71. if (motivo.Length > 512)
  72. {
  73. motivo = motivo.Substring(0, 512);
  74. }
  75.  
  76. Thread.Sleep(1000);
  77.  
  78. user.KickAsync(motivo);
  79.  
  80. embedo.WithDescription($"**{context.User}** o membro {user.Mention} foi expulso do servidor");
  81. context.Channel.SendMessageAsync(embed: embedo.Build());
  82. break;
  83. case 2:
  84. if (motivo == "")
  85. {
  86. privado.SendMessageAsync(embed: new EmbedBuilder()
  87. .WithDescription($"você foi banido do servidor: **{context.Guild.Name}**")
  88. .WithColor(Color.DarkPurple)
  89. .Build());
  90. motivo = $"Moderador: {context.User}";
  91. }
  92. else
  93. {
  94. privado.SendMessageAsync(embed: new EmbedBuilder()
  95. .WithDescription($"você foi banido do servidor: **{context.Guild.Name}**")
  96. .AddField("Motivo:", motivo)
  97. .WithColor(Color.DarkPurple)
  98. .Build());
  99. motivo = $"Moderador: {context.User} || Motivo: {motivo}";
  100. }
  101.  
  102. if (motivo.Length > 512)
  103. {
  104. motivo = motivo.Substring(0, 512);
  105. }
  106.  
  107. Thread.Sleep(1000);
  108.  
  109. user.BanAsync(7, motivo);
  110.  
  111. embedo.WithDescription($"**{context.User}** o membro {user.Mention} foi banido do servidor");
  112. context.Channel.SendMessageAsync(embed: embedo.Build());
  113. break;
  114. case 3:
  115. if (motivo == "")
  116. {
  117. privado.SendMessageAsync(embed: new EmbedBuilder()
  118. .WithDescription($"você foi banido temporariamente do servidor: **{context.Guild.Name}**")
  119. .WithColor(Color.DarkPurple)
  120. .Build());
  121. motivo = $"Moderador: {context.User}";
  122. }
  123. else
  124. {
  125. privado.SendMessageAsync(embed: new EmbedBuilder()
  126. .WithDescription($"você foi banido temporariamente do servidor: **{context.Guild.Name}**")
  127. .AddField("Motivo:", motivo)
  128. .WithColor(Color.DarkPurple)
  129. .Build());
  130. motivo = $"Moderador: {context.User} || Motivo: {motivo}";
  131. }
  132.  
  133. if (motivo.Length > 512)
  134. {
  135. motivo = motivo.Substring(0, 512);
  136. }
  137.  
  138. Thread.Sleep(1000);
  139.  
  140. user.BanAsync(7, motivo);
  141. context.Guild.RemoveBanAsync(user);
  142.  
  143. embedo.WithDescription($"**{context.User}** o membro {user.Mention} foi banido temporariamente do servidor");
  144. context.Channel.SendMessageAsync(embed: embedo.Build());
  145. break;
  146. }
  147.  
  148. }
  149. else
  150. {
  151. context.Channel.SendMessageAsync(embed: embed.Build());
  152. }
  153. }
  154. else
  155. {
  156. EmbedBuilder usoEmbed = new EmbedBuilder();
  157. usoEmbed.WithColor(Color.Red);
  158. usoEmbed.WithDescription($"**{context.User}** você precisa mencionar um membro");
  159.  
  160. switch (tipo)
  161. {
  162. case 1:
  163. usoEmbed.AddField("Usos do Comando: ", $"`{(string)args[0]}kick @membro motivo`\n`{(string)args[0]}kick <id membro> motivo`\n");
  164. usoEmbed.AddField("Exemplos: ", $"`{(string)args[0]}kick @Takasaki#7072 abre o servidor`\n`{(string)args[0]}kick 274289097689006080 abre o servidor`");
  165. break;
  166. case 2:
  167. usoEmbed.AddField("Usos do Comando: ", $"`{(string)args[0]}ban @membro motivo`\n`{(string)args[0]}ban <id membro> motivo`");
  168. usoEmbed.AddField("Exemplos: ", $"`{(string)args[0]}ban @Thhrag#2527 vai pra escola`\n`{(string)args[0]}ban 240860729027198977 vai pra escola`");
  169. break;
  170. case 3:
  171. usoEmbed.AddField("Usos do Comando: ", $"`{(string)args[0]}softban @membro motivo`\n`{(string)args[0]}softban <id membro> motivo`");
  172. usoEmbed.AddField("Exemplos: ", $"`{(string)args[0]}softban @Sakurako Oomuro#5964 muito trap larissinha`\n`{(string)args[0]}softban 234097420898664448 muito trap larissinha`");
  173. break;
  174. }
  175.  
  176. context.Channel.SendMessageAsync(embed: usoEmbed.Build());
  177. }
  178.  
  179. }).Start();
  180.  
  181. }
  182. else
  183. {
  184. context.Channel.SendMessageAsync(embed: new EmbedBuilder()
  185. .WithDescription("você so pode usar esse comando em servidores")
  186. .WithColor(Color.Red)
  187. .Build());
  188. }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement