@ru_python

Страница 172 из 9768
Igor
19.01.2016
13:19:21
```#-*-coding:UTF-8-*- from app.reqBot import Bot from json import loads, dump from random import choice from os import listdir import vk_api import pickle as cPickle global wordBot, vk vk = vk_api.VkApi().get_api() botMode=0 bot = Bot(name="S.T.A.L.K.E.R.", token="124678862:AAFEOZXxvIKpASqR5cScW1cyXT3_XqDKTW4") urlPhotoGroup=["85291460", "8109175", "38635106", "17035846", "96812503", "23289884", "57579356", "92212978", "42278444"] photoData={ "/zona_wallpaper":"84047762", "/zona_avatar":"151669801", "/zona_cosplay":"217797477", "/zona_bugs":"136309850", "/zona_screen":"178209537", "/zona_fanart":"97770808" } # openFile = open("words.json", 'r') # wordBot = loads(openFile.read()) # openFile.close() openFile = open("zonaHumor.json", 'r') humorBot = loads(openFile.read()) openFile.close() def memoized(func): memory = {} def memo(*args,**kwargs): hash = cPickle.dumps((args, sorted(kwargs.iteritems()))) if hash not in memory: memory[hash] = func(*args,**kwargs) return memory[hash] return memo def start(data, api): if data["message_text"] == "/start": api.sendMessage(data["chat_id"], "Привет.\r\nЯ Маслина-Бот. Если ты любитель серии игр S.T.A.L.K.E.R. то я незаменим.\r\nЯ уже кое чего умею, например фотки об сталкере кидать.Или рассказать анекдот про сталкер.\r\nНу, удачи тебе сталкер!") def about(data, api): if data["message_text"] == "/about": api.sendMessage(data["chat_id"], "Мой хозяин - @SymbiSoft\r\nСсылка на него - telegram.me/symbisoft\r\nМое имя в Телеграме - @maslina_bot\r\nА вдруг кому-то захочеш дать мою ссылку то вот - telegram.me/maslina_bot\r\nСпасибо за помощь Nikita aka @nsychev Sychev\r\nВерсия моей прошивки - 0.6 Open Beta Test\r\nОснован на модуле от @nauma, по имени TelegramBotStarter.\r\nЧто то он долго музыку шлет, почему - ¯\_(ツ)_/¯") def radiationZone(data, api): if data["message_text"] == "/radiation_zone": api.sendPhotoUrl(data["chat_id"], "http://www.chernobyl-tour.com/uploads/inform_rad_v3.jpg", data["message_id"]) def zonaHumor(data, api): if data["message_text"] == "/zona_humor": numberJoke=choice(humorBot) api.sendMessage(data["chat_id"], numberJoke) @memoized def photoZone(data, api): if data["message_text"] == "/photo_zone": photoURLGroup =choice(urlPhotoGroup) vkRequest = vk.photos.get(owner_id="-"+photoURLGroup, album_id="wall") photoList = choice(vkRequest['items']) photoSize=max(int(k.split('_')[1]) for k in photoList.keys() if 'photo' in k) sendPhotoFromVK = photoList["photo_"+str(photoSize)] api.sendPhotoUrl(data["chat_id"], sendPhotoFromVK, data["message_id"]) @memoized def photoSend(data, api): try: id=photoData[data["message_text"]] print(photoData[data["message_text"]]) vkRequest = vk.photos.get(owner_id=-8109175, album_id=str(id)) photoList = choice(vkRequest['items']) photoSize=max(int(k.split('_')[1]) for k in photoList.keys() if 'photo' in k) sendPhotoFromVK = photoList["photo_"+str(photoSize)] api.sendPhotoUrl(data["chat_id"], sendPhotoFromVK, data["message_id"]) except KeyError: print(KeyError) def music(data, api): if data["message_text"] == "/zona_music": listMusic = listdir("Music/") listMusicRandom = choice(listMusic) api.sendAudio(data["chat_id"], "Music/{0}".format(listMusicRandom)) bot.include(start, about, radiationZone, zonaHumor, photoZone, photoSend, music, floodMode) bot.start(pause=1)

пора меня токен

Whore Amazing
19.01.2016
13:19:30
@ какие-то, хуй пойми

Igor
19.01.2016
13:19:59
так чо, не то?)

Google
Whore Amazing
19.01.2016
13:20:14
хз это memoized мне не нравится

пили свое кэширование, ручками

Igor
19.01.2016
13:20:29
ну тогда пойде ручками

пойдем*

переписал ту функцию - бот в три раза похудал)

Pavel
19.01.2016
13:22:13
пойдем*
не слушай его, всё там нормально.

кроме протухания кеша.

Whore Amazing
19.01.2016
13:22:44
большему научится

Ilya
19.01.2016
13:23:16
а надо ли сразу

Igor
19.01.2016
13:23:18
вы как дьявол и ангел?

Whore Amazing
19.01.2016
13:23:40
Pavel
19.01.2016
13:23:45
кеширование - это первый пример для декораторов. каноничный.

Google
Pavel
19.01.2016
13:24:32
@... - это и есть декораторы. какой-то код, который выполнится до выполнения основной функции (грубо говоря)

Igor
19.01.2016
13:25:35
ну так должно сработать @memoized??

Whore Amazing
19.01.2016
13:26:02
должно

Pavel
19.01.2016
13:26:08
да, будет работать, только ты его не туда присунул.

Whore Amazing
19.01.2016
13:26:13
но ручками все же предлагаю написать для интереса

Igor
19.01.2016
13:26:33
а куды его присунуть?))

Pavel
19.01.2016
13:26:59
@memoized кеширует всю функцию, перед которой стоит. то есть, ты скешируешь один раз воообще все ответы бота на любой вопрос.

вынести vk.photos.get в отдельную функцию, её обвешать мемоидом

Igor
19.01.2016
13:27:33
такс

вот например на такую функцию def zonaHumor(data, api): if data["message_text"] == "/zona_humor": numberJoke=choice(humorBot) api.sendMessage(data["chat_id"], numberJoke) надо кэшировать? И что будет если ее закэшировать таким метожом?

методом*

Pavel
19.01.2016
13:30:13
def first_deko(func): def inner(*args, **kwargs): print("Before func!") rc = func(*args, **kwargs) print("After func") return rc return inner @first_deko def function(): print("Inside func") function()

Igor
19.01.2016
13:31:37
ну я понял как это работает... Однако, для такой функции надо кэширования? Она же берет ответ с локального файла...

Whore Amazing
19.01.2016
13:31:51
ребят, на андроиде 4.3 пропали значки звонилки-хуилки, которые не пролистываются вместе с основным экраном как вернуть? я чет не нашел

Pavel
19.01.2016
13:31:52
а локальный файл откуда берётся?

Igor
19.01.2016
13:32:43
openFile = open("zonaHumor.json", 'r') humorBot = loads(openFile.read()) openFile.close() def zonaHumor(data, api): if data["message_text"] == "/zona_humor": numberJoke=choice(humorBot) api.sendMessage(data["chat_id"], numberJoke)

xnj&&&

Google
Igor
19.01.2016
13:34:55
что???

Kolyann
19.01.2016
13:35:18
да всё нормально

это уже хора по инерции

Whore Amazing
19.01.2016
13:35:33
там ж написано все нормально

Viktor
19.01.2016
13:35:37
О, симбисофт жив

Igor
19.01.2016
13:35:52
так я не понял, надо ли там кэширования?))

Viktor
19.01.2016
13:36:13
зачем? (ВАРНИНГ: Я на питоне не пишу)

Кстати

вопрос вам

делаю для изучения сокетов мессенджер и возник вопрос

Whore Amazing
19.01.2016
13:37:01
зачем? (ВАРНИНГ: Я на питоне не пишу)
тогда что ты тут делаешь?

Viktor
19.01.2016
13:37:18
я короче могу любой символ при желании кинуть собеседнику, и у того он выводится

Viktor
19.01.2016
13:37:32
а значит я могу делать что угодно с его терминалом

Pavel
19.01.2016
13:37:42
хацкир

Viktor
19.01.2016
13:37:48
ну и сам вопрос

как понять что выводить

А что нет?

Whore Amazing
19.01.2016
13:38:10
фильтруй

Viktor
19.01.2016
13:38:25
тогда что ты тут делаешь?
Мне интересен питон, да еще и на егэ 100% понадобится

фильтруй
блэклист или вайтлист?

Google
Whore Amazing
19.01.2016
13:39:04
Viktor
19.01.2016
13:39:08
хм

и что в него добавить?

Pavel
19.01.2016
13:39:14
ты делаешь консольный чат?

Viktor
19.01.2016
13:39:17
да

типо того

Whore Amazing
19.01.2016
13:39:41
добавь команды терминала

Viktor
19.01.2016
13:40:05
Admin
ERROR: S client not available

Viktor
19.01.2016
13:40:19
Лол, неткат также работает

Whore Amazing
19.01.2016
13:40:28
неткат уебищен слегка

Viktor
19.01.2016
13:40:34
то есть можно человеку даже беллы отправлять

я себе как-то сломал все к херам

пришлось неткатом качать файлы

Whore Amazing
19.01.2016
13:41:17
я как-то неткатом ломал сервак провайдера

Viktor
19.01.2016
13:41:18
вручную писать http запроы

Whore Amazing
19.01.2016
13:41:21
сломал :)

Viktor
19.01.2016
13:41:25
и как именно?

Google
Whore Amazing
19.01.2016
13:41:42
как-как...шелл залил и порутал

Ivan
19.01.2016
13:41:57
Выгравировал надпись "Netcat" на металлическом ломе и расхерачил

сервак

Whore Amazing
19.01.2016
13:42:10
а надо было провайдера

Viktor
19.01.2016
13:43:06
Лол

Whore Amazing
19.01.2016
13:45:22
серьезно, таких админов, которые ставят везде пароль admin69, только ломом херачить а еще у него постоянно падала сетка и в рутовом кронтабе был скрипт, доступный для редактирования юзеру апача

Viktor
19.01.2016
13:46:37
АХАХАХАХАХАХАХ

Whore Amazing
19.01.2016
13:47:14
ну и еще много было веселостей, все уже не упомню например, дамп скуль базы паролей в документах, доступный для скачивания апачу

собственно, тогда я и познакомился с MVC, когда редактировал вьюшки для того, чтобы не показывало мой безлимитный бесплатный аккаунт в общей статистике в биллинге

Viktor
19.01.2016
13:50:22
KJK

Whore Amazing
19.01.2016
13:51:28
хотя я порой думаю, что можно было и не скрывать, что этот похуист бы положил даже на то, что этот аккаунт называется adminloh

олсо, этот дырявый биллинг я тоже слил с сервера, потому что увидел, что он платный и продается за сотню зеленых (несмотря на то, что является по сути простым переводом фриварного буржуйского) надо кому, лол?

Viktor
19.01.2016
13:53:45
На рутрекер положи

или мегу

Pavel
19.01.2016
13:53:55
такое студенчество ещё где-то используется?

Whore Amazing
19.01.2016
13:54:08
используется

На рутрекер положи
регисрация запалят

Sharkus
19.01.2016
13:54:25
Тогда рутор

Ilya
19.01.2016
13:54:35
как зовётся биллинг?

Whore Amazing
19.01.2016
13:54:36
а там без реги можно заливать?

EasyHotspot

Страница 172 из 9768