def __init__(self, save="", savefile=""): if savefile and not save: with open(savefile) as f: save = decode(f.read().strip()) elif not (savefile or save): raise Exception("Either pass in a save or a save file!") save = decode(save).split("!END!")[0] self.data = base64.b64decode(save).decode("utf-8").split("|") self.version = self.data.pop(0) self.reserved = self.data.pop(0) startdata = self.data.pop(0).split(";") self.session_start, self.legacy_start, self.save_tstamp = ( int(x) / 1000 for x in [startdata.pop(0) for y in range(3)]) self.name = startdata.pop(0) self.seed = startdata.pop(0) self.preferences = self.data.pop(0) self.cookie_data = self.data.pop(0) self.building_data = self.data.pop(0) self.upgrades = self.data.pop(0) self.achievements = [x == "1" for x in self.data.pop(0)] self.buffs = self.data.pop(0) del self.data self.preferences = [ self.preferences[x] == self.ALL_ON_PREFERENCES[x] for x in range(len(self.preferences)) ]
def google_dorker(self): iterate = 0 found_url = [] parse_found_cseurl = regex.compile(r'"clicktrackUrl": "(.*?)"', regex.I) parse_found_targeturl = regex.compile(r'&q=(.*?)&sa') while True: cse_google = "https://cse.google.com/cse/element/v1?rsz=" + self.resultSetSize[0] + \ "&num=10&&start=" + str(iterate) + "&hl=en&source=gcsc&gss=.com&cselibv=" + self.cselibVersion[0] + \ "&cx=" + self.cx[0] + "&q=" + self.dork + "&safe=off&cse_tok=" + self.cse_token[0] + "&exp=" \ + self.exp[0][0] + "," + self.exp[0][1] + "&callback=google.search.cse.api16950" request = self.reqs.get(url=cse_google, headers=self.head) found = parse_found_cseurl.findall(request.text) if found: for cseurl in found: found_url.append( decode(parse_found_targeturl.findall(cseurl)[0])) for url in found_url: print(url) iterate += 10 else: break return found_url
def meteorhot(): reply = '' req_headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0' } data = [] for i in range(5): req_data = { "boardId": "all", "page": i, "isCollege": False, "pageSize": 1 } url = 'https://meteor.today/article/get_hot_articles' resp = requests.post(url, headers=req_headers, data=req_data) info = decode(resp.json()['result']).replace('false', 'False').replace( 'true', 'True') data.append(eval(info[1:-1])) #data = sorted(data, key = lambda element: element['hotness'], reverse = True) print(data[0]) reply += '試驗階段\n\n離開: /leave' return reply
def get_response(request): return str(request.path) # get query from request if 'q' in request.args: q = request.args.get('q') else: return '😬 That\'s a bad request. Can you try again?' if not q: return '😬 That\'s a bad request. Can you try again?' q = decode(q) print(q) answer = respond(q) return str(answer)
async def on_message(message): global m, faq #, u #u = await client.get_user_info('Google Translator#1934') m = message print(message.server, '/', message.channel, '/', message.author, 'написал', message.content) owners = [] for i in message.server.members: for j in i.roles: if j.name == 'Owner': owners.append(i) if message.content.startswith('<@!' + client.user.id + '>:'): client.logs_from(message.channel, limit=1) pass if message.content.lower().startswith( '!mc') or message.content.lower().startswith('!minecraft'): cmd = ' '.join(message.content.split()[1:]) if cmd.lower().startswith('bots'): server = message.server.id global chat if message.author in owners: if len(cmd.lower().split()) == 2: if not server in faq: chat[server] = cmd.lower().split()[2] with open('chat.txt', 'w') as file: file.write(str(chat)) if cmd.lower().startswith('hello'): await client.send_message(message.channel, '!mc hello') if cmd.lower().startswith('test'): await client.send_typing(message.channel) try: mcr.connect() except ConnectionRefusedError: for i in owners: await client.send_message( i, 'Сервер упал! Сделай что-нибудь! Игрок ' + str(message.author) + ' только что пропинговал сервер и ничего не работает!') await client.send_message( message.channel, 'Сервер не работает. Отправлено сообщение владельцу сервера.' ) else: await client.send_message(message.channel, 'Сервер работает!') mcr.command( 'tellraw @a ["[",{"text":"Minecraft bot","color":"dark_purple"},"] ' + message.author.display_name + ' проверил сервер. Вот идиот!"]') mcr.disconnect() if cmd.lower().startswith('count'): counter = 0 async for message in client.logs_from( message.channel, limit=9999999999999999999999999): if message.author == client.user: counter += 1 await client.send_message(message.channel, counter) if cmd.lower().startswith('cmd'): for i in message.author.roles: if 'Админ' in i.name: mcr.connect() await client.send_message( message.channel, mcr.command(' '.join(cmd.split()[1:]))) mcr.disconnect() break else: #await client.send_message(message.channel, 'Да что ты мне сделаешь, жалкий человечишка?') await client.send_message(message.channel, 'Обойдешься') if cmd.lower().startswith('search'): q = ' '.join(cmd.split()[1:]) if '#' in q: q = q.split('#') q = [i.capitalize() for i in q] q = '#'.join([q[0]] + [code(i).replace('%', '.') for i in q[1:]]) else: q = q.capitalize() for i in answer(q): if i[0]: await client.send_message( message.channel, '***' + i[1] + '*** (__*' + decode(i[2]).replace(' ', '_') + '*__)\n' + i[3] + '\n') else: await client.send_message(message.channel, i[1].replace(' ', '_')) print('sent') if cmd.lower().startswith('info'): await client.send_message(message.channel, embed=profile(' '.join(cmd.split()[1:]))) if cmd.lower().startswith('time'): await client.send_message(message.channel, time()) if cmd.lower().startswith('uuid'): await client.send_message(message.channel, get_nick(cmd.split()[1])) if cmd.lower().startswith('emoji'): for i in message.server.members: print(i.name) try: await client.send_message(message.channel, i.avatar_url) except: pass print('em') if cmd.lower().startswith('help'): embed = discord.Embed( title='Помощь по боту', color=0x008800, description='Вместо `!minecraft` можно использовать `!mc`') embed.set_author(name="Поиск по Minecraft Wiki") embed.set_thumbnail( url= "https://d1u5p3l4wpay3k.cloudfront.net/minecraft_ru_gamepedia/b/bc/Wiki.png?version=26fd08a888d0d1a33fb2808ebc8678e9" ) embed.add_field(name='`!minecraft help`', value='Увидеть этот список', inline=True) embed.add_field(name='`!minecraft search <запрос>`', value='Искать по Minecraft Wiki', inline=True) embed.add_field(name='`!minecraft plugin <плагин> [сообщение]`', value='Попросить поставить плагин', inline=True) embed.add_field(name='`!minecraft info <ник игрока>`', value='Профиль игрока', inline=True) embed.add_field(name='`!minecraft time`', value='Узнать время', inline=True) embed.add_field(name='`!minecraft kill`', value='Остановить бота', inline=True) embed.add_field(name='`!minecraft faq`', value='FAQ сервера', inline=True) embed.add_field(name='`!minecraft world <название> [описание]`', value='Попросить создать мир', inline=True) embed.add_field(name='`!minecraft ip`', value='IP сервера', inline=True) embed.add_field(name='`!minecraft op [причина]`', value='Попросить `@op` и `/op`', inline=True) #embed.add_field(name='`!minecraft down [сообщение]`', value='Отправить сообщение о падении сервера', inline=True) embed.add_field( name='`!minecraft count`', value='Посчитать кол-во сообщений от бота в этом канале', inline=True) embed.add_field( name='`!minecraft test`', value= 'Проверить работу сервера. В будущем `!minecraft down` перестанет существовать. Бугага.', inline=True) embed.set_footer( text='Помоги создателю!\nWMR: R725794253675\nQiwi:+79166758407' ) await client.send_message(message.channel, embed=embed) if cmd.lower().startswith('ip'): await client.send_message(message.channel, '`trolling.ddns.net`') if cmd.lower().startswith('world'): for i in owners: prin await client.send_message( i, str(message.author) + ' хочет мир' + cmd.split()[2] + '.' + (cmd[3:] + '.' if cmd.split()[3] else '')) if cmd.lower().startswith('op'): for i in owners: if len(cmd.split()) == 1: await client.send_message( i, str(message.author) + ' хочет оператора') else: await client.send_message( i, str(message.author) + ' хочет оператора. Он сказал: ' + cmd[3:]) #if cmd.lower().startswith('down'): # for i in owners: # if len(cmd.split()) == 1: # await client.send_message(i, 'Сервер упал! Сделай что-нибудь!') # else: # await client.send_message(i, 'Сервер упал! Сделай что-нибудь! ' + str(message.author) + ' говорит: "' + cmd[5:] + '"') if cmd.lower().startswith('faq'): server = message.server.id if message.author in owners: if len(cmd.lower().split()) == 3 and cmd.lower().split( )[1] == 'set': if not server in faq: faq[server] = cmd.lower().split()[2] with open('faq.txt', 'w') as file: file.write(str(faq)) if server in faq: embed = discord.Embed( title="FAQ", description= "Вас не послали, вы просто задали частый вопрос", color=0x008800) async for i in client.logs_from(client.get_channel( faq[server]), reverse=True): j = decodeFAQ(i.content) print(j) embed.add_field(name=j[0], value=j[1], inline=False) await client.send_message(message.channel, embed=embed) else: await client.send_message( message.channel, 'Сначала используйте `!mc faq set <ID канала с FAQ>`') if cmd.lower().startswith('plugin'): pl = '-'.join(cmd.split()[1]) async with aiohttp.get('https://dev.bukkit.org/projects/' + pl + '/files/latest') as r: print(plugin) if r.status == 200: for i in owners: await client.send_message( i, ' '.join(cmd.split()[2:]) + message.author + ' попросил поставить плагин https://dev.bukkit.org/projects/' + pl + '/files/latest') if cmd.lower().startswith('kill'): for i in message.author.roles: if i.name == 'Host': await client.send_message(message.channel, 'Приятно было помочь!') exit() await client.send_message( message.channel, 'Да что ты мне сделаешь, жалкий человечишка?')
def ttsByArg(): text = decode(request.args.get('t')) return send_file(stringToAudioFile(text))
def tts(words): text = decode(words) return send_file(stringToAudioFile(text))