telebot быстро и понятно. Телеграмм-бот
telebot (pyTelegramBotAPI) хорошая и лёгкая библиотека для создания бота на python для телеграмма.
Установка
Если у вас windows, тогда вам надо найти cmd на своём пк, а если у вас macOS, тогда вам надо открыть терминал.
Для установки telebot (pyTelegramBotAPI) на windows вам надо написать в cmd
Для установки на macOS нам надо написать в терминале
Написание кода
Сначала надо получить токен. Для этого зайдём к боту botfather,чтобы получить токен (botfather)
Теперь можно начать писать код.Сначала мы импортируем библиотеку.
Теперь создаём переменную под названием token, в ней мы будем хранить наш токен.
Теперь мы можем создать приветствие бота:
Нам надо создать переменную bot, в ней мы пишем telebot.Telebot (наша переменная с токеном).
Создаём функцию под названием «start_message»
В скобках указываем «message».
Пишем внутри функции bot.send_message(message.chat.id,»Привет»)
и вне функции пишем bot.infinity_poling()
и запускаем программу.
Теперь наш бот может приветствовать
Приветствие мы сделали, теперь давайте сделаем кнопку.
Надо написать from telebot import types там же, где мы импортировали библиотеку telebot
Теперь пишем @bot.message_handler(commands=[‘button’]). Дальше мы создаём функцию под названием button_message, в скобках указываем message.
Дальше надо создать клавиатуру в переменной под названием markup, в переменной пишем types.ReplyKeyboardMarkup(resize_keyboard=True).
Потом создаём переменную item1, в ней будет хранится сама кнопка и пишем что item1=types.KeyboardButton(«текст на кнопке»).
Дальше к клавиатуре добавим нашу кнопку
Далее надо отправить сообщение «Выберите что вам надо» и после текста написать reply_markup=markup и закрываем скобки.
Теперь у нас есть кнопка. Вот пример:
Но если мы на неё нажмём, то ничего не произойдёт. Сейчас мы сделаем так, чтобы при нажатии на кнопку выдавало ссылку на мою страницу в Хабре.
Для начала мы напишем @bot.message_handler(content_types=’text’)
Дальше нам надо создать функцию по названием message_reply, а в скобках указать message.
Внутри функции надо указать условие «if message.text==»Кнопка:», а внутри условия отправить нам нужное сообщение.
Смена кнопок
Это последняя часть статьи.В следующей статье мы разберём с вами добавление в группу или канал.
Это можно считать самая лёгкая часть статьи.
Мы разберём сейчас с вами замену кнопок.
Теперь нам просто надо создать клавиатуру с кнопками и добавить к клавиатуре кнопку как в прошлой части в тоже самое условие.Дальше в той же функции написать:
Теперь при нажатии на Кнопку 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 .
Вся проблема ушла после команды
открываем setting (ctrl+alt+s) ищем python interpreter выбираем pip ищем pyTelegramBotAPI устанавливаем (я ещё и telebot установил) (пишу в pycharm)
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.7.43282
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Телеграм бот на python, не могу понять что не так.
Скачав файлы. см скрин.
Запустил pithon.exe .
Команда
pip install pytelegrambotapi
не проходит .
Что требуется ещё установить или настроить?
>>> pip3 install pyTelegramBotAP
File "<stdin>", line 1
pip3 install pyTelegramBotAP
^
SyntaxError: invalid syntax
Piton не видит pyTelegramBotAP . Верно?
как , куда инсталлировать pyTelegramBotAP? откуда качать?
module ‘telebot’ has no attribute ‘types’ #299
Hello! I have updated pyTelegramBotAPI to 2.3.0 version and when I’m trying to launch my bot I have such error: module ‘telebot’ has no attribute ‘types’ I haven’t meet this error before the update.
I am using MacOS Sierra with Python 3.5
The text was updated successfully, but these errors were encountered:
import telebot, server_manager, config, image_decoder, datetime, time
from threading import Thread
types = telebot.types #
bot = telebot.TeleBot(config.token)
I had «from telebot import types» before on the third line but it hasn’t worked too