Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.74 KB | None | 0 0
  1. import os
  2. import sys
  3. import time
  4. import shlex
  5. import shutil
  6. import inspect
  7. import aiohttp
  8. import discord
  9. import asyncio
  10. import traceback
  11. #import youtube_dl
  12. import json
  13. import random
  14. from discord import utils
  15. from discord.object import Object
  16. from discord.enums import ChannelType
  17. from discord.voice_client import VoiceClient
  18. from discord.ext.commands.bot import _get_variable
  19.  
  20. from io import BytesIO
  21. from functools import wraps
  22. from textwrap import dedent
  23. from datetime import timedelta
  24. from random import choice, shuffle
  25. from collections import defaultdict
  26. prefix = '!'
  27. EPICFROG_EMOJI = "<:epicfrog:312012175822684160>"
  28.  
  29. ytdl_format_options = {
  30. 'format': 'bestaudio/best',
  31. 'extractaudio': True,
  32. 'audioformat': 'mp3',
  33. 'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
  34. 'restrictfilenames': True,
  35. 'noplaylist': True,
  36. 'nocheckcertificate': True,
  37. 'ignoreerrors': False,
  38. 'logtostderr': False,
  39. 'quiet': True,
  40. 'no_warnings': True,
  41. 'default_search': 'auto',
  42. 'source_address': '0.0.0.0'
  43. }
  44.  
  45. client = discord.Client()
  46. @client.event
  47. async def on_ready():
  48. #with open("user_data.json") as json_file:
  49. # client.user_data = json.load(json_file)
  50. #youtube_dl.utils.bug_reports_message = lambda: ''
  51. print('Logged in as')
  52. print(client.user.name)
  53. print(client.user.id)
  54. print('------')
  55. print(client)
  56. chan = client.get_channel('222238144500596744')
  57. truechan=chan
  58. for log in client.logs_from(chan, limit=100):
  59. if log.content.startswith('brb hot pocket'):
  60. await client.delete_message(log)
  61. truechan=chan
  62.  
  63. chan = client.get_channel('196125431278206976')
  64. async for log in client.logs_from(chan, limit=100):
  65. if log.content.startswith('brb hot pocket'):
  66. await client.delete_message(log)
  67. truechan=chan
  68. async for log in client.logs_from(truechan, limit=100):
  69. if log.content.startswith(prefix):
  70. #counter += 1
  71. await client.delete_message(log)
  72. if log.content.startswith('/who'):
  73. await client.delete_message(log)
  74. if log.content.startswith('/atwho'):
  75. await client.delete_message(log)
  76. if log.author == client.user:
  77. #counter += 1
  78. await client.delete_message(log)
  79. jointext = await client.send_message(truechan,'Beware! I live.')
  80. await asyncio.sleep(10)
  81. await client.delete_message(jointext)
  82.  
  83. @client.event
  84. async def on_member_leave(member):
  85. if member.server.id != '110373943822540800':
  86. msg = await client.send_message(member.server.default_channel,'Goodbye '+member.name+'!')
  87. @client.event
  88. async def onserverjoin(self, server):
  89. print('JOINED SERVER: '+server.name)
  90. msg = await client.send_message(server.default_channel,'Thank you for inviting me to your server, '+server.owner.mention+'!')
  91. msg2 = await client.send_message(client.get_channel('333059895567843328'),'Connected to server: '+server.name+'')
  92. #print('Connected to server: '+server.name)
  93. for member in server.members:
  94. Getpoints(member)
  95. await asyncio.sleep(15)
  96. await client.delete_message(msg)
  97.  
  98. @client.event
  99. async def on_member_join(member):
  100.  
  101. if member.server.id != '110373943822540800':
  102. msg = await client.send_message(member.server.default_channel,'Welcome to the server, '+member.mention+'!')
  103. GetIDpoints(member.id)
  104. #await asyncio.sleep(15)
  105. msg = await client.send_message(client.get_channel('333059895567843328'),member.server.name+' | '+'member: '+member.name+' joined.')
  106. print(member.server.name+'|'+'MEMBER: '+member.name+' JOINED AT '+time.ctime())
  107. #await client.delete_message(msg)
  108.  
  109. @client.event
  110. async def duelgame(channel, betamt, member, target):
  111. msg2 = await client.send_message(channel, target.mention+', '+member.mention+', duel accepted! When I send the message: \'FIRE!\', react with :gun: as fast as possible. Ready?')
  112. await asyncio.sleep(random.randint(5,15))
  113. msg3 = await client.send_message(channel, 'FIRE! '+member.mention+', '+target.mention)
  114. res2 = await client.wait_for_reaction(['\N{PISTOL}'], message=msg3)
  115. bettxt=""
  116. if betamt!=0:
  117. bettxt=" "+str(betamt*2)+" points"
  118. await client.delete_message(msg2)
  119. winner=0
  120. pool=betamt*2
  121. if res2.user.id == target.id:
  122. winner = 1
  123.  
  124. Updatepoints(target.id, pool)
  125. Updatepoints(member.id,-1*betamt)
  126. if res2.user.id == member.id:
  127. winner = 2
  128. Updatepoints(member.id, pool)
  129. Updatepoints(target.id,-1*betamt)
  130. if res2.user.id !=target.id and res2.user.id!=member.id:
  131. winner = 3
  132. if winner==1 or winner==2:
  133. msg4 = await client.send_message(channel, res2.user.mention+' wins'+bettxt+'!')
  134. if winner==3:
  135. msg4 = await client.send_message(channel, member.mention+', '+target.mention+', a third party, '+res2.user.mention+', drew first. '+res2.user.name+' is the winner! No transactions were made.')
  136.  
  137. @client.event
  138. async def openduel(channel,betamt, member):
  139. print ("openduel has been reached.")
  140. bettxt=""
  141. if betamt!=0:
  142. bettxt=" Bet value: "+str(betamt)+"."
  143. msg = await client.send_message(channel, 'OPEN DUEL: anyone, react with :gun: to start the duel.'+bettxt)
  144. res = await client.wait_for_reaction(['\N{PISTOL}'], message = msg)
  145. if res.user.id != member.id:
  146. if GetIDpoints(res.user.id)>=betamt:
  147. msg2 = await client.send_message(channel, member.mention+', your duel has been accepted by '+res.user.mention)
  148. await duelgame(channel,betamt,member,res.user)
  149. else:
  150. msg2 = await client.send_message(channel, res.user.mention+" doesn't have enough points ("+betamt+") to accept. "+member.mention+"'s duel has been canceled.")
  151. await asyncio.sleep(10)
  152. await client.delete_message(msg2)
  153. await client.delete_message(msg)
  154. else:
  155. msg2 = await client.send_message(channel, member.mention+" just tried to duel himself.")
  156. await asyncio.sleep(10)
  157. await client.delete_message(msg2)
  158. await client.delete_message(msg)
  159. return
  160.  
  161. return
  162.  
  163.  
  164. @client.event
  165. async def consentduel(channel,betamt, member, target):
  166. print ("consentduel has been reached.")
  167. bettxt=""
  168. if betamt!=0:
  169. bettxt=" Bet value: "+str(betamt)+"."
  170. if target.id!=member.id:
  171. if GetIDpoints(target.id)>=betamt:
  172. msg2 = await client.send_message(channel, member.mention+', your duel has been accepted by '+target.mention+"."+bettxt)
  173. await duelgame(channel,betamt,member,target)
  174. else:
  175. msg2 = await client.send_message(channel, target.mention+" doesn't have enough points ("+betamt+") to accept. "+member.mention+"'s duel has been canceled.")
  176. await asyncio.sleep(10)
  177. await client.delete_message(msg2)
  178. await client.delete_message(msg)
  179. else:
  180. msg2 = await client.send_message(channel, member.mention+" just tried to duel himself.")
  181. await asyncio.sleep(10)
  182. await client.delete_message(msg2)
  183. await client.delete_message(msg)
  184. return
  185. return
  186.  
  187. @client.event
  188. async def on_message(message):
  189. ampm = time.strftime('%p')
  190. chan = message.channel
  191.  
  192. #print(message):gun:
  193. if message.content.startswith(prefix+'sendnude') or message.content.startswith(prefix+'sendnudes') or message.content.startswith(prefix+'link2k'):
  194. await client.send_message(message.channel,':mailbox_with_mail:')
  195. name=os.listdir("nudes/")[random.randint(0,len(os.listdir("nudes/"))-1)]
  196. await client.send_file(message.author,"nudes/"+name)
  197. if message.content.startswith(prefix+'duel'):
  198. betamt=0
  199. messagesplit=message.content.split(' ')
  200. messagelength=len(messagesplit)
  201. print (messagelength)
  202. if messagelength==1:
  203. await openduel(message.channel,betamt, message.author)
  204.  
  205. elif messagelength==2:
  206. if messagesplit[1].isdigit():
  207. print("second var is digit")
  208. if int(messagesplit[1]) <= Getpoints(message.author) and int(messagesplit[1])>=0:
  209. print("has enough money to bet")
  210. betamt=int(messagesplit[1])
  211. await openduel(message.channel,betamt, message.author)
  212. else:
  213. msg1=await client.send_message(message.channel, message.author.mention+", you do not have enough points to make this duel.")
  214. await asyncio.sleep(10)
  215. client.delete_message(msg1)
  216. else:
  217. betamt=0
  218. targfound=0
  219. for mem in message.channel.server.members:
  220. if messagesplit[1]==str(mem.mention):
  221. print('target member found.')
  222. targfound=1
  223. msg = await client.send_message(message.channel, mem.mention+', react with :gun: to accept the duel.')
  224. res = await client.wait_for_reaction(['\N{PISTOL}'], message = msg)
  225. if res.user.id!=mem.id:
  226. msg2 = await client.send_message(message.channel, message.author.mention+', a third party has accepted your duel. Your duel has been canceled.')
  227. else:
  228. await consentduel(message.channel,betamt, message.author, mem)
  229.  
  230.  
  231.  
  232. if targfound==0:
  233. print("target not found.")
  234. errormsg=await client.send_message(message.channel,message.author.mention+", user \'"+str(messagesplit[1])+"\' not found.")
  235. await asyncio.sleep(10)
  236. client.delete_message(errormsg)
  237. elif messagelength==3:
  238. betamt=0
  239. targfound=0
  240. for mem in message.channel.server.members:
  241. if messagesplit[1]==str(mem.mention):
  242. print('target member found.')
  243. targfound=1
  244. if messagesplit[2].isdigit():
  245. print("third var is digit")
  246. if int(messagesplit[2]) <= Getpoints(message.author) and int(messagesplit[2])>=0:
  247. print("has enough money to bet")
  248. betamt=int(messagesplit[2])
  249. worthtxt=""
  250. if betamt!=0:
  251. worthtxt=" worth "+str(betamt)+" points"
  252. msg = await client.send_message(message.channel, mem.mention+', react with :gun: to accept the duel'+worthtxt+'.')
  253. res = await client.wait_for_reaction(['\N{PISTOL}'], message = msg)
  254. if res.user.id!=mem.id:
  255. msg2 = await client.send_message(message.channel, message.author.mention+', a third party (or you) accepted your duel. Your duel has been canceled.')
  256. else:
  257. await consentduel(message.channel,betamt, message.author, mem)
  258. else:
  259. print("not enough money")
  260. errormsg = await client.send_message(message.channel, mem.mention+', you do not have enough money ('+betamt+') to bet. Your duel has been canceled')
  261. await asyncio.sleep(10)
  262. else:
  263. print("invalid number")
  264. errormsg=await client.send_message(message.channel,message.author.mention+", invalid number for the betting entry. Your duel has been canceled.")
  265. await asyncio.sleep(10)
  266. client.delete_message(errormsg)
  267.  
  268. if targfound==0:
  269. print("target not found.")
  270. errormsg=await client.send_message(message.channel,message.author.mention+", user \'"+str(messagesplit[1])+"\' not found.")
  271. await asyncio.sleep(10)
  272. client.delete_message(errormsg)
  273. if message.content.startswith(prefix+'obsoleteduel'):
  274. messagesplit=message.content.split(' ')
  275. if len(messagesplit)>1 and messagesplit[1].isdigit==False:
  276. target = messagesplit[1]
  277.  
  278.  
  279. targfound=0
  280. targself=0
  281. for mem in message.channel.server.members:
  282. if str(mem.mention) == target:
  283. if mem == message.author:
  284. targself=1
  285. targfound=1
  286. targmember = mem
  287. if targfound==0:
  288. msg1 = await client.send_message(message.channel, 'Target not found.')
  289. await asyncio.sleep(20)
  290. await client.delete_message(msg1)
  291. if targfound==1 and targself==1:
  292. msg = await client.send_message(message.channel, message.author+', you can\'t duel yourself, idiot.')
  293. if targfound==1 and targself==0:
  294. bettxt=''
  295. betamt='0'
  296. if len(messagesplit) > 2:
  297. betamt = messagesplit[2]
  298. cashpool=0
  299. canbet=0
  300. if betamt!=''and betamt!='0':
  301. if betamt.isdigit:
  302. betamt=int(betamt)
  303. if betamt > 0:
  304. if betamt < Getpoints(message.author):
  305. if betamt < Getpoints(targmember):
  306. canbet=1
  307. else:
  308. errormsg=await client.send_message(message.channel, 'Target does not have enough points: duel canceled')
  309. else:
  310. errormsg=await client.send_message(message.channel, 'You do not have enough points: duel canceled')
  311. else:
  312. errormsg=await client.send_message(message.channel, 'Invalid bet amount: duel canceled')
  313. else:
  314. errormsg=await client.send_message(message.channel, 'bet is not a number: duel canceled')
  315.  
  316.  
  317.  
  318. msg = await client.send_message(message.channel, targmember.mention+', react with :gun: to accept the duel.')
  319. res = await client.wait_for_reaction(['\N{PISTOL}'], message = msg)
  320. if res.user.id!=targmember.id:
  321. msg2 = await client.send_message(message.channel, message.author.mention+', a third party has accepted your duel. Your duel has been canceled.')
  322. else:
  323. if canbet==1:
  324. cashpool = int(betamt)*2
  325. bettxt=' '+str(cashpool)+' points'
  326. msg2 = await client.send_message(message.channel, targmember.mention+', '+message.author.mention+', duel accepted! When I send the message: \'FIRE!\', react with :gun: as fast as possible. Ready?')
  327. await asyncio.sleep(random.randint(5,15))
  328. msg3 = await client.send_message(message.channel, 'FIRE! '+message.author.mention+', '+targmember.mention)
  329. res2 = await client.wait_for_reaction(['\N{PISTOL}'], message=msg3)
  330. winner=0
  331. if res2.user.id == targmember.id:
  332. winner = 1
  333. Updatepoints(targmember.id, cashpool)
  334. Updatepoints(message.author.id,-1*int(betamt))
  335. if res2.user.id == message.author.id:
  336. winner = 2
  337. Updatepoints(message.author.id, cashpool)
  338. Updatepoints(targmember.id,-1*int(betamt))
  339. if res2.user.id !=targmember.id and res2.user.id!=message.author.id:
  340. winner = 3
  341. if winner==1 or winner==2:
  342. msg4 = await client.send_message(message.channel, res2.user.mention+res2.reaction.emoji+' wins'+bettxt+'!')
  343.  
  344. if winner==3:
  345. msg4 = await client.send_message(message.channel, message.author.mention+', '+targmember.mention+', a third party, '+res2.user.mention+', drew first. '+res2.user.name+' is the winner!')
  346. await asyncio.sleep(30)
  347. await client.delete_message(msg)
  348. await client.delete_message(msg2)
  349. elif (len(messagesplit)<=2):
  350. cashpool=0
  351. canbet=0
  352. bettxt=''
  353. if len(messagesplit)<=2 and messagesplit[1].isdigit():
  354. betamt=messagesplit[1]
  355. betamt=int(betamt)
  356. if betamt > 0:
  357. if betamt < Getpoints(message.author):
  358. canbet=1
  359. cashpool=betamt*2
  360. bettxt=' '+str(cashpool)+' points'
  361. else:
  362. errormsg=await client.send_message(message.channel, 'You do not have enough points: duel canceled')
  363. else:
  364. errormsg=await client.send_message(message.channel, 'Invalid bet amount: duel canceled')
  365. msg = await client.send_message(message.channel, 'OPEN DUEL: anyone, react with :gun: to start the duel.')
  366. res = await client.wait_for_reaction(['\N{PISTOL}'], message = msg)
  367. targself=0
  368. for mem in message.channel.server.members:
  369. if mem.id == res.user.id:
  370. targmember = mem
  371. if targmember.id == message.author.id:
  372. targself=1
  373. if targself==1:
  374. msg2 = await client.send_message(message.channel, message.author.mention+', you can\'t duel yourself.')
  375. else:
  376. if betamt < Getpoints(targmember):
  377. canbet=1
  378.  
  379. msg2 = await client.send_message(message.channel, targmember.mention+', '+message.author.mention+', duel accepted! When I send the message: \'FIRE!\', react with :gun: as fast as possible. Ready?')
  380. await asyncio.sleep(random.randint(5,15))
  381. msg3 = await client.send_message(message.channel,'FIRE! '+message.author.mention+', '+targmember.mention)
  382. res2 = await client.wait_for_reaction(['\N{PISTOL}'], message=msg3)
  383. winner=0
  384. if res2.user.id == targmember.id:
  385. winner = 1
  386. Updatepoints(targmember.id, cashpool)
  387. Updatepoints(message.author.id,-1*int(betamt))
  388. if res2.user.id == message.author.id:
  389. winner = 2
  390. Updatepoints(targmember.id, -1*int(betamt))
  391. Updatepoints(message.author.id,cashpool)
  392. if res2.user.id !=targmember.id and res2.user.id!=message.author.id:
  393. winner = 3
  394.  
  395. if winner==1 or winner==2:
  396. msg4 = await client.send_message(message.channel, res2.user.mention+res2.reaction.emoji+' wins'+bettxt+'!')
  397. if winner==3:
  398. msg4 = await client.send_message(message.channel, message.author.mention+', '+targmember.mention+', a third party, '+res2.user.mention+', drew first. '+res2.user.name+' is the winner!')
  399. else:
  400. errormsg=await client.send_message(message.channel, 'Target does not have enough points: duel canceled')
  401. await asyncio.sleep(30)
  402. await client.delete_message(msg)
  403. await client.delete_message(msg2)
  404. if message.author.id !='311798043282505728' and message.channel.id != '333059895567843328' and message.channel.server.id != '110373943822540800':
  405. await client.send_message(client.get_channel('333059895567843328'),message.channel.server.name+'|'+message.channel.name+'|'+message.author.name+': '+message.content)
  406. #if message.content.startswith('!spiders'):
  407. # tmp = await client.send_message(message.channel, 'AAH')
  408. if message.author.id !='311798043282505728':
  409. print(message.channel.server.name+'|'+message.channel.name+'|'+message.author.name+': '+message.content)
  410. if message.content.startswith(prefix+'broadcast ') and message.author.id == '195698132644790281':
  411. cont=message.content.replace(prefix+'broadcast ','')
  412. msgs = []
  413. #for srv in client.servers:
  414. #srv.default_channel
  415. for srv in client.servers:
  416. msg = await client.send_message(srv.default_channel, '**BROADCAST FROM CHUPACHU:** '+cont)
  417.  
  418. if message.content.startswith(prefix+'freepoints') and (message.channel.server.owner == message.author or message.author.id == '195698132644790281'):
  419. if message.content.replace(prefix+'freepoints','') != '':
  420. amt = message.content.replace(prefix+'freepoints ','')
  421. if amt.isdigit():
  422. numofpts = amt
  423. else:
  424. numofpts = random.randint(5,15)
  425. else:
  426. numofpts = random.randint(5,15)
  427.  
  428. msg = await client.send_message(message.channel, 'React with :hamburger: to win '+str(numofpts)+' point(s)!')
  429. res = await client.wait_for_reaction(['\N{HAMBURGER}'], message=msg)
  430. winner = ('{0.user.id}'.format(res))
  431. GetIDpoints(winner)
  432. Updatepoints(winner,numofpts)
  433. msg2 = await client.send_message(message.channel, '{0.user.mention} reacted with {0.reaction.emoji}!'.format(res)+' You have earned '+str(numofpts)+' point(s)!')
  434. await client.delete_message(message)
  435. await client.delete_message(msg)
  436. await asyncio.sleep(20)
  437. await client.delete_message(msg2)
  438. if message.content.startswith('%p'):
  439. msg = await client.send_message(message.channel, ampm+'')
  440.  
  441. if message.content.startswith(prefix+'creator'):
  442. if message.author.id == '195698132644790281':
  443. owner = message.author
  444. msg = await client.send_message(message.channel,'Ok, '+message.author.name+'.')
  445. await asyncio.sleep(5)
  446. await client.delete_message(msg)
  447. if message.author.id != '195698132644790281':
  448. if message.author.name == 'Wizcleavuh':
  449. msg = await client.send_message(message.channel,'owner is NOT '+message.author.name+'! DUMMY BOBBY DUMMY')
  450. else:
  451. msg = await client.send_message(message.channel,'owner is NOT '+message.author.name+'! DUMMY '+message.author.name+' DUMMY')
  452. await asyncio.sleep(5)
  453. await client.delete_message(msg)
  454. await asyncio.sleep(5)
  455. await client.delete_message(message)
  456. if message.content.startswith(prefix+'owner'):
  457. if message.author == message.channel.server.owner:
  458. owner = message.author
  459. msg = await client.send_message(message.channel,'Ok, '+message.author.name+'.')
  460. await asyncio.sleep(5)
  461. await client.delete_message(msg)
  462. else:
  463. if message.author.name == 'Wizcleavuh':
  464. msg = await client.send_message(message.channel,'owner is NOT '+message.author.name+'! DUMMY BOBBY DUMMY')
  465. else:
  466. msg = await client.send_message(message.channel,'owner is NOT '+message.author.name+'! DUMMY '+message.author.name+' DUMMY')
  467. await asyncio.sleep(5)
  468. await client.delete_message(msg)
  469. await asyncio.sleep(5)
  470. await client.delete_message(message)
  471.  
  472. #elif message.content.startswith('!play'):
  473. #self.emit('play', player=self, entry=entry)
  474. elif message.content.startswith(prefix+'blockmode'):
  475. x=0
  476. newstring = ''
  477. blocktext = message.content.replace(prefix+'blockmode ','')
  478. for x in range(0, len(blocktext)):
  479. if blocktext[x] == 'a' or blocktext[x] == 'b'or blocktext[x] == 'c'or blocktext[x] == 'd'or blocktext[x] == 'e'or blocktext[x] == 'f'or blocktext[x] == 'g'or blocktext[x] == 'h'or blocktext[x] == 'i'or blocktext[x] == 'j'or blocktext[x] == 'k'or blocktext[x] == 'l'or blocktext[x] == 'm'or blocktext[x] == 'n'or blocktext[x] == 'o'or blocktext[x] == 'p'or blocktext[x] == 'q'or blocktext[x] == 'r'or blocktext[x] == 's'or blocktext[x] == 't'or blocktext[x] == 'u'or blocktext[x] == 'v'or blocktext[x] == 'w'or blocktext[x] == 'x'or blocktext[x] == 'y'or blocktext[x] == 'z' or blocktext[x] == 'A' or blocktext[x] == 'B'or blocktext[x] == 'C'or blocktext[x] == 'D'or blocktext[x] == 'E'or blocktext[x] == 'F'or blocktext[x] == 'G'or blocktext[x] == 'H'or blocktext[x] == 'I'or blocktext[x] == 'J'or blocktext[x] == 'K'or blocktext[x] == 'L'or blocktext[x] == 'M'or blocktext[x] == 'N'or blocktext[x] == 'O'or blocktext[x] == 'P'or blocktext[x] == 'Q'or blocktext[x] == 'R'or blocktext[x] == 'S'or blocktext[x] == 'T'or blocktext[x] == 'U'or blocktext[x] == 'V'or blocktext[x] == 'W'or blocktext[x] == 'X'or blocktext[x] == 'Y'or blocktext[x] == 'Z':
  480. texttoprint = ':regional_indicator_'+blocktext[x].lower()+':'
  481. else:
  482. texttoprint = blocktext[x]
  483. if blocktext[x]=='0':
  484. texttoprint = ':zero:'
  485. if blocktext[x]=='1':
  486. texttoprint = ':one:'
  487. if blocktext[x]=='2':
  488. texttoprint = ':two:'
  489. if blocktext[x]=='3':
  490. texttoprint = ':three:'
  491. if blocktext[x]=='4':
  492. texttoprint = ':four:'
  493. if blocktext[x]=='5':
  494. texttoprint = ':five:'
  495. if blocktext[x]=='6':
  496. texttoprint = ':six:'
  497. if blocktext[x]=='7':
  498. texttoprint = ':seven:'
  499. if blocktext[x]=='8':
  500. texttoprint = ':eight:'
  501. if blocktext[x]=='9':
  502. texttoprint = ':nine:'
  503. if blocktext[x]=='!':
  504. texttoprint = ':exclamation:'
  505. if blocktext[x]=='?':
  506. texttoprint = ':question:'
  507.  
  508. newstring += texttoprint
  509. await client.send_message(message.channel, newstring)
  510. await client.delete_message(message)
  511.  
  512. elif message.content.startswith(prefix+'testingstuff'):
  513. for chan in client.get_all_channels():
  514. if chan.id == '182990342671433728':
  515. chantouse = chan
  516. msg = await client.send_message(chantouse,':epicfrog: ')
  517.  
  518. elif message.content.startswith(prefix+'updatepoints') and (message.author == message.channel.server.owner or message.author.name == 'Jimbo-Bot JR'):
  519. targ = message.content.replace(prefix+'updatepoints ','')[:18]
  520. amt = message.content.replace(prefix+'updatepoints '+targ+' ','')
  521. await client.delete_message(message)
  522. #await client.send_message(message.channel, 'target: '+targ)
  523. #await client.send_message(message.channel, 'amount: '+amt)
  524. Updatepoints(targ, int(amt))
  525. elif message.content.startswith(prefix+'totalgeneralclean') and message.author.id == '195698132644790281':
  526. counter = 0
  527. tmp = await client.send_message(message.channel, 'TOTALGENCLEAN: Cleaning...')
  528. for srv in client.servers:
  529. async for log in client.logs_from(srv.default_channel, limit=100):
  530. if log.author == tmp.author and log != tmp:
  531. counter += 1
  532. await client.delete_message(log)
  533. counter+=1
  534. await client.delete_message(tmp)
  535. tmp2 = await client.send_message(message.channel, 'TOTALGENCLEAN: Complete. STATS: '+str(counter)+' bot messages deleted.')
  536. elif message.content.startswith(prefix+'totalclean') and message.author.id == '195698132644790281':
  537. counter = 0
  538. tmp = await client.send_message(message.channel, 'TOTALCLEAN: Cleaning...')
  539. for srv in client.servers:
  540. for chann in srv.channels:
  541. async for log in client.logs_from(chann, limit=100):
  542. if log.author == tmp.author and log != tmp:
  543. counter += 1
  544. await client.delete_message(log)
  545. tmp2 = await client.send_message(message.channel, 'TOTALCLEAN: Complete. STATS: '+counter+' bot messages deleted.')
  546. elif message.content.startswith(prefix+'commands'):
  547. commandlist=prefix+'getrole\n/who\n'+prefix+'losing\n'+prefix+'commands\n'+prefix+'clearposts\n'+prefix+'clean\n'+prefix+'restart\n'+prefix+'snooze\n'+prefix+'time\n'+prefix+'spiders\n'+prefix+'points\n'+prefix+'dubroll\n'+prefix+'resetpoints (use this if you have no reserved memory for points)'
  548. tmp = await client.send_message(message.channel, 'Commands: \n'+commandlist)
  549. await client.delete_message(message)
  550. await asyncio.sleep(30)
  551. await client.delete_message(tmp)
  552. elif message.content.startswith(prefix+'clean'):
  553. counter = 0
  554. tmp = await client.send_message(message.channel, 'Cleaning...')
  555. async for log in client.logs_from(message.channel, limit=100):
  556. if log.author == tmp.author:
  557. counter += 1
  558. await client.delete_message(log)
  559. async for log in client.logs_from(message.channel, limit=100):
  560. if str(log.author.id) == '332725699645538304':
  561. counter+=1
  562. await client.delete_message(log)
  563. if log.content.startswith(prefix):
  564. counter += 1
  565. await client.delete_message(log)
  566. if log.content.startswith('/who'):
  567. counter += 1
  568. await client.delete_message(log)
  569. if log.content.startswith('/atwho'):
  570. counter += 1
  571. await client.delete_message(log)
  572.  
  573.  
  574. msg = await client.send_message(message.channel,'All bot messages have been cleared.')
  575. await asyncio.sleep(5)
  576. await client.delete_message(msg)
  577. await client.delete_message(message)
  578.  
  579. elif message.content.startswith(prefix+'points'):
  580.  
  581.  
  582. if message.content.replace(prefix+'points','')=='':
  583. msg3=await client.send_message(message.channel, message.author.mention+', you have '+str(Getpoints(message.author))+' points.')
  584. await asyncio.sleep(10)
  585. await client.delete_message(msg3)
  586. else:
  587. targ = message.content.replace(prefix+'points ','')
  588. result = 0
  589. for member in client.get_all_members():
  590. if targ == str(member.mention):
  591. result = 1
  592. points = GetIDpoints(member.id)
  593. msg3= await client.send_message(message.channel, message.author.mention+', '+member.name+' has '+str(points)+' points.')
  594. await asyncio.sleep(10)
  595. await client.delete_message(msg3)
  596. if result == 0:
  597. msg3=await client.send_message(message.channel, message.author.mention+', name unknown.')
  598. await asyncio.sleep(5)
  599. await client.delete_message(msg3)
  600. await client.delete_message(message)
  601. elif message.content.startswith('/who'):
  602. target = message.content.replace('/who','')
  603. if target != ' help':
  604. plys = []
  605. string = 'Users'+message.content.replace('/who','')+': \n'
  606. for member in message.channel.server.members:
  607. if str(member.status) == 'idle':
  608. emoji = ':sleeping: '
  609. if str(member.status) == 'online':
  610. emoji = ':grinning: '
  611. if str(member.status) == 'dnd':
  612. emoji = ':rage: '
  613. if str(member.status) == 'offline':
  614. emoji = ':skull: '
  615. if str(member.status) == target[1:] or target == '' or (target[1:] == 'active' and (str(member.status)=='online' or str(member.status)=='dnd' or str(member.status)=='idle')):
  616. string+=(emoji+member.name+': '+str(member.status)+'\n')
  617. for role in member.roles:
  618. if str(role.mention)==target[1:]:
  619. string+=(emoji+member.name+': '+str(member.status)+'\n')
  620. msg3=await client.send_message(message.channel, string+'')
  621. await asyncio.sleep(45)
  622. await client.delete_message(msg3)
  623. await client.delete_message(message)
  624. else:
  625. msg3=await client.send_message(message.channel, message.author.mention+', the syntax is as follows: \n/who (this works by itself but you can specify):\n/who [online|idle|dnd|offline|active (custom for all but offline)]')
  626. await asyncio.sleep(25)
  627. await client.delete_message(msg3)
  628.  
  629. elif message.content.startswith('/totalwho') and message.author.id == '195698132644790281':
  630. target = message.content.replace('/totalwho','')
  631. charlim=1900
  632. charused=0
  633. if target != ' help':
  634. plys = []
  635. messages = []
  636. string = 'Users'+message.content.replace('/totalwho','')+': '
  637. msg3=await client.send_message(message.channel, string+'')
  638. messages.append(msg3)
  639. string=''
  640. for member in client.get_all_members():
  641. if str(member.status) == 'idle':
  642. emoji = ':sleeping: '
  643. if str(member.status) == 'online':
  644. emoji = ':grinning: '
  645. if str(member.status) == 'dnd':
  646. emoji = ':rage: '
  647. if str(member.status) == 'offline':
  648. emoji = ':skull: '
  649. if str(member.status) == target[1:] or target == '' or (target[1:] == 'active' and (str(member.status)=='online' or str(member.status)=='dnd' or str(member.status)=='idle')):
  650. charlen=len(emoji+member.name+': '+str(member.status))
  651. if charused+charlen < charlim:
  652. string+=(emoji+member.name+': '+str(member.status)+'\n')
  653. charused+=charlen
  654. if charused+charlen >= charlim:
  655. msg3=await client.send_message(message.channel,string)
  656. string=''
  657. charused=0
  658. messages.append(msg3)
  659. await asyncio.sleep(45)
  660. for msg in messages:
  661. await client.delete_message(msg)
  662. await client.delete_message(message)
  663. else:
  664. msg3=await client.send_message(message.channel, message.author.mention+', the syntax is as follows: \n/who (this works by itself but you can specify):\n/who [online|idle|dnd|offline|active (custom for all but offline)]')
  665. await asyncio.sleep(25)
  666. await client.delete_message(msg3)
  667.  
  668. elif message.content.startswith('/atwho'):
  669.  
  670. if str(message.author.mention) == message.channel.server.owner.mention:
  671. target = message.content.replace('/atwho','')
  672. if target != ' help':
  673. plys = []
  674. string = 'Users'+message.content.replace('/atwho','')+': \n'
  675. for member in message.channel.server.members:
  676. if str(member.status) == 'idle':
  677. emoji = ':sleeping: '
  678. if str(member.status) == 'online':
  679. emoji = ':thumbsup: '
  680. if str(member.status) == 'dnd':
  681. emoji = ':rage: '
  682. if str(member.status) == 'offline':
  683. emoji = ':skull: '
  684.  
  685. if str(member.status) == target[1:] or target == '' or (target[1:] == 'active' and (str(member.status)=='online' or str(member.status)=='dnd' or str(member.status)=='idle')):
  686. string+=(emoji+member.mention+': '+str(member.status)+'\n')
  687. msg3=await client.send_message(message.channel, string+'')
  688. await client.delete_message(message)
  689. await asyncio.sleep(30)
  690. await client.delete_message(msg3)
  691. else:
  692. msg3=await client.send_message(message.channel, message.author.mention+', you do not have permission.')
  693. await client.delete_message(message)
  694. await asyncio.sleep(5)
  695. await client.delete_message(msg3)
  696. elif message.content.startswith(prefix+'getroles'):
  697. target = message.content.replace(prefix+'getroles','')
  698.  
  699. if target == '':
  700. val=0
  701. msgarray = []
  702. for role in message.author.roles:
  703. if role.name !='@everyone':
  704.  
  705. msg = await client.send_message(message.channel,message.author.mention+', your role is: '+role.name+'.')
  706. msgarray.append(msg)
  707. val+=1
  708. await asyncio.sleep(5)
  709. await client.delete_message(message)
  710. await asyncio.sleep(5)
  711. for msg2 in msgarray:
  712. await client.delete_message(msg2)
  713. await client.delete_message(msg)
  714. else:
  715. for member in client.get_all_members():
  716. if member.mention == target[1:] or member.name == target[1:]:
  717. newtarg = member
  718.  
  719. msg1 = message.author.mention+', '+newtarg.mention+'\'s'+' roles are: \n'
  720. for role in newtarg.roles:
  721. if role.name !='@everyone':
  722. msg1+=role.name+'\n'
  723.  
  724.  
  725. msg = await client.send_message(message.channel,msg1)
  726.  
  727. await asyncio.sleep(5)
  728. await client.delete_message(message)
  729. await asyncio.sleep(5)
  730. await client.delete_message(msg)
  731. elif message.content.startswith(prefix+'getroledebug'):
  732. target = message.content.replace(prefix+'getroledebug','')
  733.  
  734. if target == '':
  735. val=0
  736. msgarray = []
  737. for role in message.author.roles:
  738. if role.name !='@everyone':
  739.  
  740. msg = await client.send_message(message.channel,message.author.mention+', your role is: '+role.name+', or '+role.id+'.')
  741. msgarray.append(msg)
  742. val+=1
  743. await asyncio.sleep(5)
  744. await client.delete_message(message)
  745. await asyncio.sleep(5)
  746. for msg2 in msgarray:
  747. await client.delete_message(msg2)
  748. await client.delete_message(msg)
  749. else:
  750. for member in client.get_all_members():
  751. if member.mention == target[1:] or member.name == target[1:]:
  752. newtarg = member
  753.  
  754. msg1 = message.author.mention+', '+newtarg.mention+'\'s'+' roles are: \n'
  755. for role in newtarg.roles:
  756. if role.name !='@everyone':
  757. msg1+=role.name+', or '+role.id+'\n'
  758.  
  759.  
  760. msg = await client.send_message(message.channel,msg1)
  761.  
  762. await asyncio.sleep(5)
  763. await client.delete_message(message)
  764. await asyncio.sleep(5)
  765. await client.delete_message(msg)
  766.  
  767.  
  768. elif message.content.startswith(prefix+'clearposts') and (message.author.name == 'Chupachu' or message.author.name == 'Jimbo-Bot JR') and message.content.replace(prefix+'clearposts ','') !='':
  769. target = message.content.replace(prefix+'clearposts ','')
  770. counter = 0
  771. tmp = await client.send_message(message.channel, 'Clearing...')
  772. async for log in client.logs_from(message.channel, limit=100):
  773. if (log.author.id == target or log.author.mention == target or log.author.name == target):
  774. counter += 1
  775. await client.delete_message(log)
  776. if target=='*':
  777. counter += 1
  778. await client.delete_message(log)
  779.  
  780. msg = await client.send_message(message.channel,'All %s targetted messages have been cleared.' % counter)
  781. await asyncio.sleep(5)
  782. await client.delete_message(msg)
  783. await client.delete_message(message)
  784. await client.delete_message(tmp)
  785. elif message.content.startswith(prefix+'generatepointsforall')and (message.author.id == '195698132644790281' or message.author == message.channel.server.owner):
  786. if message.author.id=='195698132644790281':
  787. for member in client.get_all_members():
  788. if len(member.server.members) < 500:
  789. Generatepoints(member)
  790. await client.delete_message(message)
  791. msg = await client.send_message(message.channel,'Done')
  792. await asyncio.sleep(5)
  793. await client.delete_message(msg)
  794. if message.author.id!='195698132644790281':
  795. for member in message.channel.server.members:
  796. Generatepoints(member)
  797. await client.delete_message(message)
  798. msg = await client.send_message(message.channel,'Done')
  799. await asyncio.sleep(5)
  800. await client.delete_message(msg)
  801. elif message.content.startswith(prefix+'resetpoints'):
  802.  
  803. Updatepoints(message.author,5)
  804. msg = await client.send_message(message.channel,'Done')
  805. await asyncio.sleep(5)
  806. await client.delete_message(msg)
  807.  
  808.  
  809.  
  810. elif message.content.startswith(prefix+'time'):
  811. msg1=await client.send_message(message.channel, 'The time is: '+time.ctime()+' (CST).')
  812. await client.delete_message(message)
  813. await asyncio.sleep(30)
  814. await client.delete_message(msg1)
  815.  
  816.  
  817. elif message.content.startswith(prefix+'coinflip'):
  818. wager=0
  819. if message.content.replace(prefix+'coinflip','')!='':
  820. if message.content.replace(prefix+'coinflip','').isdigit:
  821. wager = int(message.content.replace(prefix+'coinflip',''))
  822. wager = abs(wager)
  823. Getpoints(message.author)
  824. if (Getpoints(message.author)-wager)<=0:
  825. wager=0
  826. msg1=await client.send_message(message.channel, message.author.mention+'The coin is flipped. PING!')
  827. num1 = random.randint(0,1)
  828. wagertext=''
  829. if wager!=0:
  830. Updatepoints(message.author.id,-wager)
  831. if num1==0:
  832. wagertext = ' You have won '+str(wager)+' point(s)!'
  833. if num1==1:
  834. wagertext = ' You have lost '+str(wager)+' point(s)!'
  835. await asyncio.sleep(5)
  836. if num1==0:
  837. msg2=await client.send_message(message.channel, message.author.mention+', you landed on: Heads!'+wagertext)
  838. if wager!=0:
  839. Updatepoints(message.author.id,wager)
  840. if num1==1:
  841. msg2=await client.send_message(message.channel, message.author.mention+', you landed on: Tails!'+wagertext)
  842. await asyncio.sleep(5)
  843.  
  844. await client.delete_message(msg1)
  845. await client.delete_message(message)
  846. await client.delete_message(msg2)
  847.  
  848. elif message.content.startswith(prefix+'dubroll'):
  849. Getpoints(message.author)
  850. payin=1
  851. if message.content.replace(prefix+'dubroll','')!='':
  852. if message.content.replace(prefix+'dubroll ','').isdigit:
  853. payin=int(message.content.replace(prefix+'dubroll ',''))
  854. if Getpoints(message.author) <payin:
  855. poor=await client.send_message(message.channel, message.author.mention+' Come back when you got some cash, poor guy. ')
  856. await asyncio.sleep(5)
  857. client.delete_message(poor)
  858. else:
  859. Updatepoints(message.author.id,-payin)
  860. msg1=await client.send_message(message.channel, message.author.mention+' You spent '+str(payin)+' point(s) for this roll, please wait for the roll to end.')
  861.  
  862. num1 = random.randint(0,9)
  863. num2 = random.randint(0,9)
  864. num3 = random.randint(0,9)
  865. num4 = random.randint(0,9)
  866. matches=0
  867. await asyncio.sleep(5)
  868.  
  869. #await client.delete_message(message)
  870. msgroll=await client.send_message(message.channel, ''+message.author.mention+' You rolled: '+str(num1)+', '+str(num2)+', '+str(num3)+', and '+str(num4)+'.')
  871. if (num1 != num2 and num2 !=num3 and num1 != num3):
  872. msgresult=await client.send_message(message.channel, ''+message.author.mention+' Sorry, no points.')
  873. if ((num1 == num2) or (num2 == num3) or (num3 == num4)):
  874. matches = 2
  875. if ((num1 == num2 and num1 == num3) or (num2 == num3 and num2 == num4)):
  876. matches = 3
  877. if (num1 == num2 and num1 == num3 and num3 == num4):
  878. matches = 4
  879. if matches == 2:
  880. msgresult=await client.send_message(message.channel, ''+message.author.mention+' Dubs! You win '+str((payin*5))+' points.')
  881. Updatepoints(message.author.id,5*payin)
  882. if matches == 3:
  883. Updatepoints(message.author.id,500*payin)
  884. msgresult=await client.send_message(message.channel, ''+message.author.mention+' Trips! You win '+str((payin*500))+' points.')
  885. if matches == 4:
  886. Updatepoints(message.author.id,50000*payin)
  887. msgresult=await client.send_message(message.channel, ''+message.author.mention+' QUAD! You win '+str((payin*50000))+' points.')
  888.  
  889. await client.delete_message(msg1)
  890. await client.delete_message(message)
  891. await asyncio.sleep(10)
  892.  
  893. await client.delete_message(msgroll)
  894. await client.delete_message(msgresult)
  895.  
  896. elif message.content.startswith(prefix+'servers'):
  897.  
  898. serverlist = ''
  899. for server in client.servers:
  900. serverlist+='\n|'+server.name+'|'
  901.  
  902. msg = await client.send_message(message.channel, '```Servers I am currently in: '+serverlist+'```')
  903.  
  904. elif message.content.startswith(prefix+'memberdebug') and message.author.id == '195698132644790281':
  905. memberstoadd = 0
  906. for member in client.get_all_members():
  907. if member.server.members<500:
  908. memberstoadd+=1
  909. registered = UserCount()
  910. diff = abs(memberstoadd-registered)
  911. msg = await client.send_message(message.channel, 'There are '+str(memberstoadd)+' members visible and '+str(registered)+' members with points, with a difference of '+str(diff)+'.')
  912. await asyncio.sleep(60)
  913. await client.delete_message(msg)
  914. await client.delete_message(message)
  915.  
  916. elif message.content.startswith(prefix+'snooze'):
  917. msg1=await client.send_message(message.channel, 'I\'m a cat who loves to snooze. ZZZZZZ')
  918. await asyncio.sleep(25)
  919. await client.delete_message(msg1)
  920. msg2=await client.send_message(message.channel, 'Done snoozin\'')
  921. await asyncio.sleep(15)
  922. await client.delete_message(msg2)
  923. await client.delete_message(message)
  924. elif message.content.startswith(prefix+'channelcode'):
  925. tmp = await client.send_message(message.channel, message.channel.id)
  926. await client.delete_message(message)
  927. await asyncio.sleep(15)
  928. await client.delete_message(tmp)
  929.  
  930. elif message.content.startswith(prefix+'spiders'):
  931. msg1=await client.send_message(message.channel, '?')
  932. await asyncio.sleep(3)
  933. msg2=await client.send_message(message.channel, 'AAH')
  934. await asyncio.sleep(10)
  935. await client.delete_message(msg1)
  936. await client.delete_message(msg2)
  937. await client.delete_message(message)
  938. elif message.content.startswith(prefix+'die'):
  939. msg1=await client.send_message(message.channel, ':(')
  940. asyncio.get_event_loop().stop()
  941. quit()
  942. elif message.content.startswith(prefix+'restart') and message.author.id == '195698132644790281':
  943. msg1=await client.send_message(message.channel, 'brb hot pocket')
  944. asyncio.get_event_loop().stop()
  945. quit()
  946. elif message.content.startswith(prefix+'losing') and (message.author.id == '195698132644790281' or message.author.id == '250091700066844672'):
  947. msg1=await client.send_message(message.channel, 'brb gotta poop')
  948. await asyncio.sleep(10)
  949. await client.delete_message(msg1)
  950. msg2=await client.send_message(message.channel, 'it\'s gonna be a while...')
  951. await asyncio.sleep(5)
  952. await client.delete_message(msg2)
  953. await client.delete_message(message)
  954. msg3=await client.send_message(message.channel, '...')
  955. asyncio.get_event_loop().stop()
  956. quit()
  957. for role in message.author.roles:
  958. if role.id == '333040777183887370':
  959. msg1=await client.send_message(message.channel,'...')
  960. roletomention=role
  961. await client.delete_message(msg1)
  962. newstring=''
  963. for num in range(len(message.content)):
  964. if num % 2 == 1:
  965. newstring+=(message.content[num:num+1].upper())
  966. if num % 2 == 0:
  967. newstring+=(message.content[num:num+1])
  968. msg2=await client.send_message(message.channel, '['+time.ctime()+'] '+roletomention.mention+' said: '+newstring)
  969. await client.delete_message(message)
  970. def Getpoints(targ):
  971. if os.path.isfile("data/"+targ.id):
  972. f = open("data/"+targ.id, "r")
  973. txt = f.read()
  974. ptct = txt.replace('points:','')
  975. points = int(ptct)
  976. return points
  977. else:
  978. Generatepoints(targ)
  979. f = open("data/"+targ.id, "r")
  980. txt = f.read()
  981. ptct = txt.replace('points:','')
  982. points = int(ptct)
  983. return points
  984. def GetIDpoints(id):
  985. if os.path.isfile("data/"+id):
  986. f = open("data/"+id, "r")
  987. txt = f.read()
  988. ptct = txt.replace('points:','')
  989. points = int(ptct)
  990. return points
  991. else:
  992. GenerateIDpoints(id)
  993. f = open("data/"+id, "r")
  994. txt = f.read()
  995. ptct = txt.replace('points:','')
  996. points = int(ptct)
  997. return points
  998. def UserCount():
  999. usercount=len(os.listdir('data/'))
  1000. return usercount
  1001. def Updatepoints(targ,amount):
  1002. f = open("data/"+targ, "r")
  1003. txt = f.read()
  1004. ptct = txt.replace('points:','')
  1005. points = int(ptct)
  1006.  
  1007. points+=int(amount)
  1008. f = open("data/"+targ, "w")
  1009. f.write('points:'+str(points))
  1010. #msg1=await client.send_message(message.channel, '')
  1011. def Generatepoints(targ):
  1012. f = open("data/"+targ.id, "w+")
  1013. f.write('points:50')
  1014. def Generateserver(id, chanid):
  1015. f = open("servers/"+id, "w+")
  1016. f.write(chanid)
  1017. def GenerateIDpoints(id):
  1018. f = open("data/"+id, "w+")
  1019. f.write('points:50')
  1020. #client.run('[TOKEN HIDDEN]')
  1021. #class JimboBot(client):
  1022.  
  1023. # async def __init__(self, config_file=ConfigDefaults.options_file, perms_file=PermissionsDefaults.perms_file):
  1024. # self.players = {}
  1025. # self.the_voice_clients = {}
  1026. #tmp = await client.send_message(message.channel, 'Beware! I live.')
  1027. client.run('[TOKEN HIDDEN]')
  1028. client.close()
  1029. #client.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement