1.10M
Категория: ПрограммированиеПрограммирование

Python. Введение

1.

Python
Введение

2.

Что такое телеграмм бот?
Само слово «бот» представляет собой сокращение от привычного
«робот». По большому счету, именно телеграм-бот как раз им и
является. Эти специальные аккаунты, которые создаются автоматически,
дают пользователям возможность выполнять разные задачи посредством
мессенджера.
Боты могут выполнять операции под руководством пользователя, который
вводит текстовые команды. Взаимодействие между человеком и машиной
осуществляется по принципу «вопрос-ответ» после того, как будет
нажата кнопка «Старт». Посредством этих виртуальных помощников
можно, к примеру, узнать прогноз погоды или заказать суши.
Чтобы понять, что вы имеете дело с ботом, достаточно посмотреть на
название. В нем всегда должно быть слово «bot». Кроме того, утилиты
никогда не инициируют диалог и не имеют статуса «онлайн» или «не в
сети».

3.

Виды ботов:
• Чат-боты. Генерируют простейшие диалоги на
определенную тему, которую задает пользователь.
• Боты-информаторы. Основная задача таких ботов
заключается в донесении до пользователя информации
об определенных происшествиях.
• Игровые боты. Эти роботы позволяют играть во
всевозможные игры. В основном речь идет о текстовых
версиях различных игр времен Combats.ru.
• Боты-ассистенты. Являются дополнениями к веб-
версиям онлайн-сервисов.

4.

Создаем аккаунт бота
Откройте Telegram.
Шаг 1. Введите в поле поиска @BotFather и выберите
бота.
Шаг 2. Нажмите «Запустить» для
активации бота BotFather.

5.

Создаем аккаунт бота
Шаг 3. Выберите или напечатайте и
отправьте команду /newbot
Шаг 4. Дайте имя боту — клиенты
увидят это имя при общении с ботом.
И никнейм бота — по нему можно
будет найти бота в Telegram.
Никнейм должен быть уникальным, не
повторять существующие в базе и
заканчиваться на слово «bot».

6.

Создаем аккаунт бота
Шаг 5. После того как вы выберите подходящее имя бот
будет создан. Вы получите сообщение со ссылкой на
бота t.me/<никнейм_бота>, рекомендации по настройке
аватарки, описание бота и список команд для
настройки бота. Данный токен необходимо будет
скопировать

7.

Устанавливаем библиотеку aiogram
1) Открываем terminal, выбираем Command Prompt
2) Прописываем команду pip install aiogram
3) Ожидаем завершения установки

8.

Терминология
- Личные сообщения(ЛС) — личные сообщения, в
контексте бота это диалог один-на-один с
пользователем, а не группа/канал.
- Чат — общее название для ЛС, групп, супергрупп и
каналов.
- Апдейт — любое событие из этого списка: сообщение,
редактирование сообщения, колбэк, инлайн-запрос,
добавление бота в группу и т.д.
- Хэндлер — асинхронная функция, которая получает от
диспетчера/роутера очередной апдейт и обрабатывает
его.
- Диспетчер — объект, занимающийся получением
апдейтов от Telegram с последующим выбором хэндлера
для обработки принятого апдейта.

9.

Пишем код:
Команда, с которой начинается общение пользователя с
ботом - /start. Поэтому давайте научим нашего бота
реагировать на эту команду. Создаем message_handler
и объявляем там функцию ответа:
import asyncio
import logging
from aiogram import Bot, Dispatcher, types
# Включаем логирование, для вывода сообщений в консоль
logging.basicConfig(level=logging.INFO)
# Объект бота
bot = Bot(token="ВАШ_ТОКЕН")
# Диспетчер
dp = Dispatcher(bot)
# Хэндлер на команду /start
@dp.message_handler(commands=["start"])
async def cmd_start(message: types.Message):
await message.answer("Привет, я тестовый бот!")
# Запуск процесса поллинга новых апдейтов
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())

10.

Пишем код:
Напишем команду /start нашему боту:
Первое, на что нужно обратить внимание: aiogram — асинхронная библиотека,
поэтому ваши хэндлеры тоже должны быть асинхронными, а перед вызовами
методов API нужно ставить ключевое слово await, т.к. эти вызовы
возвращают корутины.
Диспетчер регистрирует функции-обработчики, дополнительно ограничивая
перечень вызывающих их событий через фильтры. После получения очередного
апдейта (события от Telegram), диспетчер выберет нужную функцию обработки,
подходящую по всем фильтрам, например, «обработка сообщений, являющихся
изображениями, в чате с ID икс и с длиной подписи игрек». Если две функции
имеют одинаковые по логике фильтры, то будет вызвана та, что
зарегистрирована раньше.
Чтобы зарегистрировать функцию как обработчик сообщений, нужно навесить на
неё декоратор, как в примере выше

11.

Поздравляю!!!
English     Русский Правила