@python_beginnersЭта группа больше не существует

Страница 1642 из 1885
Igor
18.04.2017
05:08:12
присылай всегда хотя бы последние пару строчек трейсбека

и, черт побери, да, можно было бы уже самому (самой?) разобраться

Magma
18.04.2017
05:08:46
:\Python\python.exe C:/Users/Робокоп/Desktop/kykareks/bot.py File "C:/Users/Admin/Desktop/kykareks/bot.py", line 34 config['admins'].append(message.reply_to_message.from.id) ^ SyntaxError: invalid syntax

Google
Magma
18.04.2017
05:09:00
сама ошибка

Tony
18.04.2017
05:09:01
))))))))))))

Igor
18.04.2017
05:09:03
может дело в том, что ты with на одной строчке используешь?

так не стоит писать никогда

лучше так with open('config.json', 'w') as f: json.dump(config, f)

Tony
18.04.2017
05:09:19
from_user

Igor
18.04.2017
05:09:31
не, к синтаксису это никакого отношения не имеет)

блин, а вообще и правда проблема в from'е

типа зарезервированный keyword?

чума

Tony
18.04.2017
05:10:54
да

Igor
18.04.2017
05:11:00
сорри, я гнал)

Google
Magma
18.04.2017
05:11:30
Все равно не помогает

Igor
18.04.2017
05:11:43
что не помогает?

тебе Тони сказал сделать from_user

я могу посоветовать открыть документацию и почитать, блин, ее

Magma
18.04.2017
05:11:57
все равно

Igor
18.04.2017
05:12:05
пруф

еще раз ошибку показывай.

Magma
18.04.2017
05:12:50
пруф
line 34, in cmd_prom config['admins'].append(message.reply_to_message.from_user) AttributeError: 'NoneType' object has no attribute 'from_user'

Igor
18.04.2017
05:12:57
значит, нету reply_to_message

Tony
18.04.2017
05:13:00
хааах

Артем
18.04.2017
05:13:05
А дебагером пройтись мб проще понять

Tony
18.04.2017
05:13:16
reply_to_message это функция

Igor
18.04.2017
05:13:19
А дебагером пройтись мб проще понять
мы блять ебанемся ему щас про дебаггинг рассказывать

Вадим
18.04.2017
05:13:53
все равно
from_user.id

Tony
18.04.2017
05:13:57
аргументы — это айди сообщения, на которое отвечать

и текст

ну и кому писать

Артем
18.04.2017
05:14:21
Я ща с тела смотрю этот код и нихуя непонимаю

Google
Igor
18.04.2017
05:14:23
стоп

открываем доку по телеграму

https://core.telegram.org/bots/api#message

Message - объект сообщения

у него есть - необязательный - объект reply_to_message

Igor
18.04.2017
05:14:45
который тоже сообщение

так что здесь все верно

но!

фишка в том, что он, блин, необязательный

а это значит, что бот получает сообщение, не являющееся при этом реплаем

и это надо как-то тебе обрабатывать

ну, как мне кажется. я не шарю в ботах

Tony
18.04.2017
05:15:15
да там проще все

Igor
18.04.2017
05:15:23
как?

Артем
18.04.2017
05:15:58
Там надо доку читать раз дебагер жмякнуть

Tony
18.04.2017
05:16:35
update.message.reply_text("I'm sorry Dave I'm afraid I can't do that.")

Igor
18.04.2017
05:16:42
это не то

ща объясню

Tony
18.04.2017
05:16:49
один хрен же

Google
Igor
18.04.2017
05:16:54
насколько я помню, там задача user1: сообщение admin1: отвечает реплаем на сообщение user1 текстом "/prom" бот смотрит - ага, получил "/prom", кто мне написал? admin1. есть у него права? есть.

бот смотрит, на какое сообщение отвечал admin1. потом - чье это было сообщение

и добавляет затем idшник user1 в админы

Tony
18.04.2017
05:17:40
просто в скобках текст

Igor
18.04.2017
05:17:54
там не надо from_user.id
почему не надо-то о_О

какой текст?

Tony
18.04.2017
05:18:40
кстати

это чистое апи?

без фреймворков?

Igor
18.04.2017
05:19:00
Что бы когда я через reply писал /prom то id пользователя которому я ответил добавлялось в json файл

это похоже на pytelegrambotapi

без фреймворков мы б застряли наверное еще раньше *)

но вообще плюсую вопрос

че это за либа?

Вадим
18.04.2017
05:19:52
Telebot видимо

Igor
18.04.2017
05:21:05
ну в смысле там надо проверку сделать if not hatattr(message, 'reply_to_message'): bot.send_message('это не реплай. отправьте реплай человеку, которого хотите сделать админом')

и return нахуй с вертушки, чтоб не было соблазна reply_to_message забирать или типа того

привет, зарт

Google
Zart
18.04.2017
05:21:41
почему не hasattr()?

Igor
18.04.2017
05:21:53
да, hasattr, туплю спросонья

Tony
18.04.2017
05:23:36
updater = Updater(token=os.environ.get('TOKEN')) dispatcher = updater.dispatcher dispatcher.add_handler(CommandHandler('prom', add_to_admins)

def add_to_admins(bot, update): text_from_mess = update.message.text user_id = update.message.from_user.id ...

все

Igor
18.04.2017
05:25:40
ну user_id будет тем юзером, что вызывает команду /prom

ниче не все

Tony
18.04.2017
05:25:55
ну валидацию он сам напишет

Igor
18.04.2017
05:26:03
какую валидацию?

что user_id - это админ?

он это уже написал.

задача другая.

Tony
18.04.2017
05:27:21
update.message.reply_text("You are admin now") update.message.reply_text("You are pidor")

Igor
18.04.2017
05:27:48
и?)

перечитай мое сообщение про user1/admin1 и то, что я процитировал

Tony
18.04.2017
05:28:09
а че ему надо еще?)

Igor
18.04.2017
05:28:17
Что бы когда я через reply писал /prom то id пользователя которому я ответил добавлялось в json файл

смари. я админ. ты - нет. я хочу сделать тебя админом. мы в чате. и бот в чате.

я реплаю на твое сообщение командой "/prom"

Tony
18.04.2017
05:28:48
аааа

Страница 1642 из 1885

Эта группа больше не существует Эта группа больше не существует