Вопросы с меткой [telebot]
Не работает кнопка под текстом, должна дать ответ после нажатия. Но при нажатии кнопки ничего не происходит. @bot.message_handler(commands=[‘command3’]) def main(message): markup = types.
Хочу, чтобы команда работала только для определенного человека (по id)
import telebot bot = telebot.TeleBot(‘токен моего бота’) @bot.message_handler(content_types=[‘text’]) def get_text_messages(message): if message.text == «Привет»: bot.
13 показов
почему происходит ошибка TypeError: ‘Location’ object is not subscriptable
def give_addres(message): # Клавиатура с кнопкой запроса локации keyboard = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True) button_geo = types.KeyboardButton(text=».
Оплата в телебот нескольких товаров сразу через юкассу
Проблема заключается в том, что я могу принять оплату на 1 товар в заказе. Но когда я пытаюсь суммироыать (любым способом) цены на несколько товаров, то ничего не выходит. Только телеграм машет .
849 показов
Сохранить сообщение в телеграмм боте в базу данных
Как удобнее всего сохранить допустим сообщение со всеми изображениями, видео, с форматом ссылок. Допустим есть сообщение: В формате json оно выглядит вот так. < "message_id":3410, .
1k показов
Настройка WebHook Telegram
Доброго времени суток. Собственно проблема в настройке WebHook Пробовал настроить 2 способами: Сертификат привязан в ISP, далее выполнял просто переход по ссылке https://api.telegram.org/botТОКЕН/.
Как сохранять значение в базу данных? telebot, sqlite3
У меня есть два файла, один с базой данных, другой основной. В основном файле есть две функции которые отвечают за изменение переменной attempts. Но если я буду использовать вот этот код для .
36 показов
Как мне правильно сделать таблицы в sqlitestudio для username, attempts, range и записать их в питон? telebot, sqlite3
Я делал бота на угадывание числа, и все работает, но у меня есть функция изменить диапазон генерации числа и изменить кол-во попыток, и если два человека играют, а один из них поменял попытки или .
747 показов
Бот, который принимает файл от юзера и сохраняет его в папку на диске
Телеграм бот получает от пользователя фотографию. Нужно создать папку с именем user.id, если такое еще нет. Записать в эту папку файл, который прислал пользователь. Пишу бота на PYTHON. def .
Что делать если команда в телеграм была задана в группе, а бот отвечает в личных сообщениях? Telebot
bot = telebot.TeleBot(‘token’) #1 @bot.message_handler(content_types=[‘text’]) def get_text_messages(message): if message.text == «Привет»: bot.send_message(message.from_user.id, .
17 показов
Как включить бота в группе. Telebot
как бота подключить к чату? В личных сообщениях с ботом работает отлично, но ни на одну команду в чате/группе не отвечает, все настройки приватности в BotFather включены на то, чтобы он все в чате .
70 показов
Как ввести 2 числа, разделённые запятыми, в переменные
Я создаю код, чтобы пользователь мог сам выбрать диапазон выбора случайных чисел. Я попытался создать переменные a, b в самой командной функции и разделить их с помощью split(‘,’). Он по-прежнему .
Как включить защиту от копирования для Telegram бота?
Есть бот в котором нужно включить защиту от копирования, нигде не найду, как это сделать. В API ничего нет. Видел кучу ботов, в которых запрещено копирование. Как это сделать? Вот пример, где это есть.
FFMPEG не работает и выдаёт кучу странных символов
Я пишу telegram бота (библиотека pyTelegramBotApi) , и в одной из функции мне нужно преобразовать из .ogg в .wav, что бы перевести из аудио в текст. Я использовал эту команду os.system(«ffmpeg -i .
48 показов
Создание телеграм бота на python
Всем привет, создаю телеграмм бота с chatGPT на python, возникла проблема в коде. Вот сам код: import telebot import openai from config import OpenAIKey from config import TgKey openai.api_key = .
Почему у модуля telebot нету класса types?
Что в такой ситуации делать? устанавливал даже pytelegrambotapi, но оно не помогает.
- Вопрос задан более двух лет назад
- 4270 просмотров
Комментировать
Решения вопроса 1
pip uninstall telebot pip uninstall PyTelegramBotAPI pip install PyTelegramBotAPI
и библиотеку telebot не надо больше пытаться ставить, правильная PyTelegramBotAPI
Ответ написан более двух лет назад
Комментировать
Нравится 3 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +1 ещё
Как открывать браузер у конкретного пользователя?
- 1 подписчик
- 3 часа назад
- 28 просмотров
telebot быстро и понятно. Телеграмм-бот
telebot (pyTelegramBotAPI) хорошая и лёгкая библиотека для создания бота на python для телеграмма.
Установка
Если у вас windows, тогда вам надо найти cmd на своём пк, а если у вас macOS, тогда вам надо открыть терминал.

Для установки telebot (pyTelegramBotAPI) на windows вам надо написать в cmd
pip install pyTelegramBotAPI
Для установки на macOS нам надо написать в терминале
pip3 install pyTelegramBotAPI
Написание кода
Сначала надо получить токен. Для этого зайдём к боту botfather,чтобы получить токен (botfather)
Теперь можно начать писать код.Сначала мы импортируем библиотеку.
import telebot token="наш токен"
Теперь создаём переменную под названием token, в ней мы будем хранить наш токен.
Теперь мы можем создать приветствие бота:
import telebot token='наш токен' bot=telebot.TeleBot(token) @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id,"Привет ✌️ ") bot.infinity_poling()
Нам надо создать переменную bot, в ней мы пишем telebot.Telebot (наша переменная с токеном).
Создаём функцию под названием «start_message»
В скобках указываем «message».
Пишем внутри функции bot.send_message(message.chat.id,»Привет»)
и вне функции пишем bot.infinity_poling()
и запускаем программу.
Теперь наш бот может приветствовать

Приветствие мы сделали, теперь давайте сделаем кнопку.
Надо написать from telebot import types там же, где мы импортировали библиотеку telebot
import telebot from telebot import types token='наш токен' bot=telebot.TeleBot(token) @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id,'Привет') @bot.message_handler(commands=['button']) def button_message(message): markup=types.ReplyKeyboardMarkup(resize_keyboard=True) item1=types.KeyboardButton("Кнопка") markup.add(item1) bot.send_message(message.chat.id,'Выберите что вам надо',reply_markup=markup) bot.infinity_polling()
Теперь пишем @bot.message_handler(commands=[‘button’]). Дальше мы создаём функцию под названием button_message, в скобках указываем message.
Дальше надо создать клавиатуру в переменной под названием markup, в переменной пишем types.ReplyKeyboardMarkup(resize_keyboard=True).
Потом создаём переменную item1, в ней будет хранится сама кнопка и пишем что item1=types.KeyboardButton(«текст на кнопке»).
Дальше к клавиатуре добавим нашу кнопку
markup.add(item1)
Далее надо отправить сообщение «Выберите что вам надо» и после текста написать reply_markup=markup и закрываем скобки.
Теперь у нас есть кнопка. Вот пример:

Но если мы на неё нажмём, то ничего не произойдёт. Сейчас мы сделаем так, чтобы при нажатии на кнопку выдавало ссылку на мою страницу в Хабре.
import telebot from telebot import types token='наш токен' bot=telebot.TeleBot(token) @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id,'Привет') @bot.message_handler(commands=['button']) def button_message(message): markup=types.ReplyKeyboardMarkup(resize_keyboard=True) item1=types.KeyboardButton("Кнопка") markup.add(item1) bot.send_message(message.chat.id,'Выберите что вам надо',reply_markup=markup) @bot.message_handler(content_types='text') def message_reply(message): if message.text=="Кнопка": bot.send_message(message.chat.id,"https://habr.com/ru/users/lubaznatel/") bot.infinity_polling()
Для начала мы напишем @bot.message_handler(content_types=’text’)
Дальше нам надо создать функцию по названием message_reply, а в скобках указать message.
Внутри функции надо указать условие «if message.text==»Кнопка:», а внутри условия отправить нам нужное сообщение.

Смена кнопок
Это последняя часть статьи.В следующей статье мы разберём с вами добавление в группу или канал.
Это можно считать самая лёгкая часть статьи.
Мы разберём сейчас с вами замену кнопок.
import telebot from telebot import types token='наш токен' bot=telebot.TeleBot(token) @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id,'Привет') @bot.message_handler(commands=['button']) def button_message(message): markup=types.ReplyKeyboardMarkup(resize_keyboard=True) item1=types.KeyboardButton("Кнопка") markup.add(item1) bot.send_message(message.chat.id,'Выберите что вам надо',reply_markup=markup) @bot.message_handler(content_types='text') def message_reply(message): if message.text=="Кнопка": markup=types.ReplyKeyboardMarkup(resize_keyboard=True) item1=types.KeyboardButton("Кнопка 2") markup.add(item1) bot.send_message(message.chat.id,'Выберите что вам надо',reply_markup=markup) elif message.text=="Кнопка 2": bot.send_message(message.chat.id,'Спасибо за прочтение статьи!') bot.infinity_polling()
Теперь нам просто надо создать клавиатуру с кнопками и добавить к клавиатуре кнопку как в прошлой части в тоже самое условие.Дальше в той же функции написать:
elif message.text=="Кнопка 2": bot.send_message(message.chat.id,'Спасибо за прочтение статьи!')
Теперь при нажатии на Кнопку 1 она у нас сменяется на кнопку 2 и при нажатии на кнопку 2 у нас присылает сообщение «Спасибо за прочтение статьи!».
ImportError: cannot import name ‘types’ from ‘telebot’ (C:\. \Anaconda3\lib\site-packages\telebot\__init__.py)
import telebot , но pip install pyTelegramBotApi , а не pip install telebot .
Отслеживать
ответ дан 19 мая 2019 в 17:30
421 2 2 серебряных знака 7 7 бронзовых знаков
pip uninstall telebot . Благодарить здесь принято отметкой ответа как решение)
19 мая 2019 в 17:39
Спасибо большое долго над этим долбался!
19 мая 2019 в 17:42
Спасибо! Помогло! 😉 Хорошего дня!
9 фев 2020 в 12:49
Вся проблема ушла после команды
pip install pyTelegramBotAPI
Отслеживать
28.6k 21 21 золотой знак 59 59 серебряных знаков 141 141 бронзовый знак
ответ дан 8 окт 2019 в 7:58
Oksana Globa Oksana Globa
11 2 2 бронзовых знака
открываем setting (ctrl+alt+s) ищем python interpreter выбираем pip ищем pyTelegramBotAPI устанавливаем (я ещё и telebot установил) (пишу в pycharm)
Отслеживать
ответ дан 6 ноя 2022 в 20:36
21 1 1 серебряный знак 4 4 бронзовых знака
- python
- telegram-bot
- jupyter-notebook
- anaconda
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.17.3574