Создание чат-ботов для начинающих: Telegram и Python - страница 11

Шрифт
Интервал


Библиотека поддерживает как синхронное, так и асинхронное взаимодействие, что позволяет разработчикам выбирать наиболее подходящий подход в зависимости от требований проекта. Например, чтобы установить библиотеку, выполните следующую команду в терминале:

```bash


pip install python-telegram-bot


```

Создание простого бота начинается с подключения библиотеки и получения обновлений. Вот пример того, как можно реализовать Эхо-бота, который повторяет отправленное пользователем сообщение:

```python


from telegram import Update


from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

def start(update: Update, context: CallbackContext) -> None:


....update.message.reply_text('Привет! Отправь мне сообщение, и я его повторю!')

def echo(update: Update, context: CallbackContext) -> None:


....update.message.reply_text(update.message.text)

def main() -> None:


....updater = Updater("YOUR_API_KEY")


....updater.dispatcher.add_handler(CommandHandler('start', start))


....updater.dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))


....updater.start_polling()


....updater.idle()

if __name__ == '__main__':


....main()


```

Этот код наглядно демонстрирует, как легко и быстро создать базового бота, который реагирует на сообщения пользователей.

2. Использование библиотеки Telethon

Если ваши запросы превышают возможности `python-telegram-bot`, стоит обратить внимание на библиотеку `Telethon`. Эта асинхронная библиотека обеспечивает более низкоуровневый доступ к API Telegram и позволяет работать не только с ботами, но и с пользовательскими аккаунтами.

Одно из главных преимуществ `Telethon` – это возможность работы с каналами и группами, что открывает новые горизонты для ваших ботов. Установить библиотеку можно с помощью следующей команды:

```bash


pip install telethon


```

Пример использования `Telethon` для отправки сообщения в чат может выглядеть так:

```python


from telethon import TelegramClient

api_id = 'YOUR_API_ID'


api_hash = 'YOUR_API_HASH'


client = TelegramClient('session_name', api_id, api_hash)

async def send_message():


....await client.start()


....await client.send_message('username_or_chat_id', 'Привет, мир!')

with client:


....client.loop.run_until_complete(send_message())


```

Этот пример показывает, как подключиться к вашему аккаунту Telegram и отправить сообщение в любой чат, используя `Telethon`.