@ru_python

Страница 5551 из 9768
Маришка
23.05.2018
16:12:11
Внезапно

Alex_Honor
23.05.2018
16:12:47
мне вот это надо декоратором ловить

@bot.message_handler( func=lambda message: worker.get_current_state(message.chat.id) == config.States.S_CHECKADDRESS.value)

Маришка
23.05.2018
16:12:59
Лови

Google
Маришка
23.05.2018
16:13:01
В чём проблема

Пиши

Alex_Honor
23.05.2018
16:13:05
а то слово будет в аргументах

Tishka17
23.05.2018
16:13:30
@bot.route(message='Hello', test == "5") @bot.route(message='Hello', lol< 100) @bot.route(message='Hello', ttt!= "50")
Можно попробовать как в алхимии. Типа myarg(test)==50. Где на самом деле myarg.__eq__ возвращает не результат сравнению я функцию

Маришка
23.05.2018
16:13:46
а то слово будет в аргументах
Ты можешь определиться чётко что тебе нужно? или будет гадание по кофейной гуще?

Alex_Honor
23.05.2018
16:14:15
я сейчас осознаю и напишу)

Donaudampf
23.05.2018
16:14:36
там функция которая следит на каком шаге находится юзер
так это всё нужно для ведения диалога с пользователем?

Alex_Honor
23.05.2018
16:15:02
юзер заходит, пишет привет

прога его получает и устанавливает шаг = 1

далее пофиг что ввел пользователь

Tishka17
23.05.2018
16:16:14
Ну сделай енум со стейтами и в декоратор передай на какие стейты должна функция реагировать. И где-нибудь в ней сохранение нового стейта ещё

Alex_Honor
23.05.2018
16:16:46
т,к, бот пишет юзеру вопрос, тот отвечает

Donaudampf
23.05.2018
16:17:04
прога его получает и устанавливает шаг = 1
ты застрелишься, если будешь делать что-то относительно сложное тупо через условия. Тебе нужен конечный автомат/FSM, но это уже вопрос архитектуры всей этой байды

Google
Маришка
23.05.2018
16:17:17
Пиздуй читать FSM

Nikolay
23.05.2018
16:17:43
??

Зачем ругаетесь?

Tishka17
23.05.2018
16:17:59
@bot.route(message='Hello', getstate() == "60")
Сделай атрибут декоратора state и научит его самого вызывать gestate и сравнивать с переданным значением

Roman
23.05.2018
16:18:20
@h.route(lambda m: re.match('.*(привет|hello).*', m['text'], re.I), lambda m: m['state'] == 10) def hello(): return 'hello' @h.route(lambda m: re.match('.*(привет|hello).*', m['text'], re.I), lambda m: m['state'] == 20) def bye(): return 'bye'

Tishka17
23.05.2018
16:18:25
Вообще непонятно, что тут обсуждать

Roman
23.05.2018
16:18:33
>>> test_msg_1 {'text': 'привет', 'state': 10, 'message_id': 123456} >>> test_msg_2 {'text': 'привет', 'state': 20, 'message_id': 123456} >>> >>> h.sent_message(test_msg_1) 'hello' >>> h.sent_message(test_msg_2) 'bye' >>>

Маришка
23.05.2018
16:18:46
Сделай атрибут декоратора state и научит его самого вызывать gestate и сравнивать с переданным значением
вот не надо, он хочет тупой fsm который есть у грёбанной библиотеки его обёртки над ботапи

Tishka17
23.05.2018
16:19:07
А ну хз что у него за библиотека

Маришка
23.05.2018
16:20:23
pyTelegramBotAPI

тут даже гадать не нужно

лишь это говно с декораторами

Tishka17
23.05.2018
16:20:45
Вообще без понятия что оно умеет

Маришка
23.05.2018
16:21:41
Вообще без понятия что оно умеет
а уже предлагаешь манкипатчить либу ( https://t.me/ru_python/555021 ) Разве не превосходно?

Tishka17
23.05.2018
16:22:15
Кто ж знал

Nikolay
23.05.2018
16:22:39
Покупать компьютер в сборе

Маришка
23.05.2018
16:22:46
Кто ж знал
может тебе стоит для начала нормально выпросить у человека что он хочет а не пытаться гадать по кофейной гуще?

Google
Маришка
23.05.2018
16:25:27
lambda m: m['state'] == 10) TypeError: route() takes 2 positional arguments but 3 were given
открой уже документацию своей библиотеки

Roman
23.05.2018
16:25:43
блеать, ну я ж изначально просто на коленке чтото напесал, это же не значит что с этим говнокодом на коленке у тебя все будет работать https://pastebin.com/np41HjRp

открой уже документацию своей библиотеки
да какая библиотека, он просто спросил чета по декораторам, я ему написал пример с коленке, а он его заюзал https://t.me/ru_python/554663

Маришка
23.05.2018
16:27:42
да какая библиотека, он просто спросил чета по декораторам, я ему написал пример с коленке, а он его заюзал https://t.me/ru_python/554663
кстати это действительно хуета, ибо переписывает функции, а не собирает их для одинаковых ключей

Nikolay
23.05.2018
16:28:26
ajajajja

Kisialeu
23.05.2018
17:41:58
neprivet.ru

MrSweden
23.05.2018
17:42:58
ваван
23.05.2018
17:58:58
почему телеграм не работает в яндексбраузере?

Lulz
23.05.2018
18:05:30
как через парамико смотреть установленый пакет на сервере? т.е как правильно я должен проверять есть ли там установленый пакет или нет

Vyacheslav
23.05.2018
18:12:50
Определить в def __init__
Определяю в def __init и всё равно у элемента словаря один и тот же адрес

Некто
23.05.2018
18:13:24
Покажи как ты определяешь

Метод весь

Pavlo
23.05.2018
18:14:43
привіт

Vyacheslav
23.05.2018
18:14:58
def init(self, gameID, newAlgo): threading.Thread.init(self) log("thread started: %s" % str(gameID)) self.gameID = gameID algo = newAlgo

Google
Pavlo
23.05.2018
18:15:08
хтось писав склад на питоне

?

Vyacheslav
23.05.2018
18:15:21
и вот потом с элементами algo идёт работа

Некто
23.05.2018
18:15:50
Что это за def init?

Как ты ожидаешь что оно будет работать?

Vyacheslav
23.05.2018
18:16:14
криво скопировался, но init там есть

да бл

markdown телеграмовский

подчёркивания там есть

Некто
23.05.2018
18:16:44
А ок

О какой переменной речь именно?

Pavlo
23.05.2018
18:19:14
порадьте за допомогою якої бібліотеки писати інтерфейс склад

Vyacheslav
23.05.2018
18:19:26
algo

мысль

Некто
23.05.2018
18:19:30
def init(self, gameID, newAlgo): threading.Thread.init(self) log("thread started: %s" % str(gameID)) self.gameID = gameID algo = newAlgo
Ты тут в обе переменных копируешь то что приходит в инит

Vyacheslav
23.05.2018
18:20:16
мб hex(id( возвращает адрес переменной в выделенной памяти словаря?

Некто
23.05.2018
18:20:30
Тут не может быть в algo ничего кроме того что пришло в инит, если ты дальше по коду не меняешь

Vyacheslav
23.05.2018
18:20:47
меняю

[♡Şąŕđøř♡]
23.05.2018
18:21:54


Vyacheslav
23.05.2018
18:21:59
Тут не может быть в algo ничего кроме того что пришло в инит, если ты дальше по коду не меняешь
какая разница в моем ините между self.gameID и algo? Как они запишутся?

Google
[♡Şąŕđøř♡]
23.05.2018
18:22:07


Некто
23.05.2018
18:22:35
Algo у тебя локальная переменная

А не объекта

Vyacheslav
23.05.2018
18:22:59
Тогда почему с ней сейчас работает?

Некто
23.05.2018
18:22:59
Она не существует за рамками скоупа init вообще

Класс покажи

Весь

Vyacheslav
23.05.2018
18:23:24
да конешн

класс на 300 строк

Некто
23.05.2018
18:23:48
Ты можешь её инициализировать и позже не в init

Либо она может быть у класса

Все ещё

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