Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.99 KB | None | 0 0
  1. import discord
  2. import os
  3. import json
  4. import random
  5. import discord, datetime, time
  6. import asyncio
  7. from keep_alive import keep_alive
  8. from discord.ext import commands
  9. from discord.utils import get
  10.  
  11. Cissy = "-"
  12.  
  13. token = os.getenv("token")
  14. client = commands.Bot(command_prefix = Cissy)
  15. client.remove_command("help")
  16.  
  17. @client.event
  18. async def on_ready():
  19. print("{0.user} is now online!".format(client))
  20. print("Discord.py Version " +discord.__version__ + ";")
  21. await client.change_presence(status=discord.Status.online, game=discord.Game(name="-help to see commands", type=1))
  22.  
  23. @client.event
  24. async def on_command_error(self, ctx, error):
  25. if isinstance(error, commands.CommandNotFound):
  26. await client.send("Command {} was not found")
  27.  
  28. @client.command(pass_context=True)
  29. async def setrole(ctx, role: discord.Role, member: discord.Member=None):
  30. member = member or ctx.message.author
  31. await client.add_roles(member, role)
  32. await client.say("Role {0} was added to {1}".format(role, member))
  33.  
  34. @client.command(pass_context=True)
  35. async def delrole(ctx, role: discord.Role, member: discord.Member=None):
  36. member = member or ctx.message.author
  37. await client.remove_roles(member, role)
  38. await client.say("Role {0} was removed from {1}".format(role, member))
  39.  
  40. @client.command(pass_context=True)
  41. async def bug(ctx, title, *, arg):
  42. channel = client.get_channel("556823586690826273")
  43. if channel is None:
  44. print("Channel not found")
  45. else:
  46. embed=discord.Embed(title=title, description=arg, color=0xCE181E)
  47. await client.delete_message(ctx.message)
  48. await client.send_message(channel, embed=embed)
  49. embed=discord.Embed(title="**Bug Report**", description="Thanks for submitting the bug", color=0xCE181E)
  50. await client.say(embed=embed)
  51.  
  52. #@client.command(pass_context=True)
  53. #async def status(ctx, game, type):
  54. #await client.change_presence(game=discord.Game(name=game, type=type)
  55.  
  56. @client.command()
  57. async def coinflip():
  58. x = ["Heads", "Tails"]
  59. yn = random.choice(x)
  60. msg = await client.say("Flipping your coin...")
  61. await asyncio.sleep(0.75)
  62. await client.edit_message(msg, "Your coin landed on `{}`.".format(yn))
  63.  
  64. @client.command(pass_context=True)
  65. async def say(ctx, *args):
  66. msg = " ".join(args)
  67. await client.delete_message(ctx.message)
  68. return await client.say(msg)
  69.  
  70. @client.command(pass_context=True)
  71. async def purge(ctx, amount=100):
  72. if ctx.message.author.server_permissions.manage_messages:
  73. channel = ctx.message.channel
  74. messages = []
  75. async for message in client.logs_from(channel, limit=int(amount) + 1):
  76. messages.append(message)
  77. await client.delete_messages(messages)
  78. else:
  79. await client.say("Missing Permission *manage_messages*")
  80.  
  81. @client.command(pass_context=True)
  82. async def mute(ctx, member: discord.Member):
  83. if ctx.message.author.server_permissions.mute_members:
  84. role = discord.utils.get(member.server.roles, name="Muted")
  85. await client.add_roles(member, role)
  86. embed=discord.Embed(title="Mute", description="**{0}** was muted by **{1}**".format(member, ctx.message.author), color=0xCE181E)
  87. await client.say(embed=embed)
  88. await client.delete_message(ctx.message)
  89. else:
  90. await client.say("Missing Permission *mute_members*")
  91.  
  92. @client.command(pass_context=True)
  93. async def unmute(ctx, member: discord.Member):
  94. if ctx.message.author.server_permissions.mute_members:
  95. role = discord.utils.get(member.server.roles, name="Muted")
  96. await client.remove_roles(member, role)
  97. embed=discord.Embed(title="Unmute", description="**{0}** was unmuted by **{1}**".format(member, ctx.message.author), color=0xCE181E)
  98. await client.say(embed=embed)
  99. await client.delete_message(ctx.message)
  100. else:
  101. await client.say("Missing Permission *mute_members*")
  102.  
  103. @client.command(pass_context=True)
  104. async def announce(ctx, title, *, arg):
  105. if ctx.message.author.server_permissions.administrator:
  106. embed=discord.Embed(title=title, description=arg, color=0xCE181E)
  107. await client.say(embed=embed)
  108. await client.delete_message(ctx.message)
  109. else:
  110. await client.say("Missing Permission *administrator*")
  111.  
  112. @client.command(pass_context=True)
  113. async def kick (ctx, member: discord.User):
  114. if ctx.message.author.server_permissions.kick_members:
  115. await client.kick(member)
  116. embed=discord.Embed(title="Kick", description="**{0}** was kicked by **{1}**".format(member, ctx.message.author), color=0xCE181E)
  117. await client.say(embed=embed)
  118. await client.delete_message(ctx.message)
  119. else:
  120. print(f"{ctx.message.author} have no permission to use this command")
  121. await client.say("Missing Permission *kick_members*")
  122.  
  123. @client.command(pass_context=True)
  124. async def ban(ctx, member: discord.User):
  125. if ctx.message.author.server_permissions.ban_members:
  126. await client.ban(member)
  127. embed=discord.Embed(title="Ban", description="**{0}** was banned by **{1}**".format(member, ctx.message.author), color=0xCE181E)
  128. await client.say(embed=embed)
  129. await client.delete_message(ctx.message)
  130. else:
  131. print("{} have no permission to use this command".format(ctx.message.author))
  132. await client.say("Missing Permission *ban_members*")
  133.  
  134. @client.command(pass_context=True)
  135. async def ping():
  136. start = time.perf_counter()
  137. message = await client.say("Ping...")
  138. end = time.perf_counter()
  139. duration = (end - start) * 1000
  140.  
  141. await client.edit_message(message, "Pong! :ping_pong: {:.2f}ms".format(duration))
  142.  
  143. @client.command(pass_context=True)
  144. async def help(ctx):
  145. embed = discord.Embed(
  146. colour = discord.Colour.red()
  147. )
  148.  
  149. embed.set_author(name="Cissy Commands")
  150. embed.add_field(name="**Fun**", value="Return list of all Fun commands\nFor more help **Type -helpfun**")
  151. embed.add_field(name="**Moderation**", value="Return list of all Moderation commands\nFor more help **Type -helpmod**")
  152. embed.add_field(name="**Roles**", value="Return list of all Role commands\nFor mote help **Type -helprole**")
  153.  
  154. await client.say(embed=embed)
  155.  
  156. @client.command(pass_context=True)
  157. async def helpfun(ctx):
  158. embed = discord.Embed(
  159. colour = discord.Colour.red()
  160. )
  161. embed.set_author(name="Fun Commands")
  162. embed.add_field(name="**Ping**", value="Return pong and bot ping\n**Type -ping**")
  163. embed.add_field(name="**Say**", value="Repeat the message you executed\n**Type -say {message}**")
  164. embed.add_field(name="**Coinflip**", value="Flip a coin\n**Type -coinflip**")
  165.  
  166. await client.say(embed=embed)
  167.  
  168. @client.command(pass_context=True)
  169. async def helpmod(ctx):
  170. embed = discord.Embed(
  171. colour = discord.Colour.red()
  172. )
  173. embed.set_author(name="Moderation Commands")
  174. embed.add_field(name="**Kick**", value="Kick members\n**Type -kick {member}**")
  175. embed.add_field(name="**Ban**", value="Ban members\n**Type -ban {member}**")
  176. embed.add_field(name="**Mute**", value="Mute members\n**Type -mute {member}**")
  177. embed.add_field(name="**Unmute**", value="Unmute members\n**Type -unmute {member}**")
  178. embed.add_field(name="**Purge**", value="Delete messages\n**Type -purge {messages}**")
  179.  
  180. await client.say(embed=embed)
  181.  
  182. if __name__ == "__main__":
  183. keep_alive()
  184. client.run(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement