• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проблема с global и local переменными. Telebot

R3dShark

One Level
27.02.2022
1
0
BIT
0
Сама суть: Мне нужно чтобы бот принимал сообщение от пользователя и передавал это значение в другую функцию для обработки информации. Я так понял, что переменная message.text является локальной, и её невозможно юзать за пределами функции. Как это можно реализовать? Я новичок в питоне, не ругайте сильно за говнокод.

1648632712718.png
 

MrHacker1337_228

One Level
02.05.2020
50
0
BIT
136
Переменные могут быль локальными только если объявлены в контексте какой-то функции, в твоём случае ошибка SyntaxError и я не вижу чтобы у тебя был определён объект message. Ты поставил WRAPPER @bot.message_handler перед обычным кодом а должен был поставить перед функцией. Функция перед которой ты ставишь WRAPPER(обёртку) вызывается каждый раз классом bot и в неё передаётся в качестве аргумента объект message. Функции которые вызываются при определённом событии или функции которые ты передаёшь как аргумент обычно называются колбэки(CALLBACK).И ты как раз таки должен создать функцию-колбэк. Я не тестил, но скорее всего ты должен сделать вот так:

Python:
@bot.message_handler(content_types=['text'])
def onMessageRecved(message):
    print(message.text)

bot.polling(none_stop=True, interval=0)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!