Library for managing Telegram dialogues using pyTelegramBotAPI.
Project description
telebot-dialogue
telebot-dialogue — это библиотека для упрощения управления диалогами в Telegram-ботах на основе pyTelegramBotAPI. Она предоставляет удобные классы для обработки сообщений, управления состояниями пользователей и работы с контекстом.
Возможности
- Простое создание и управление диалогами.
- Хранение и обновление контекста для каждого пользователя.
- Лёгкая настройка и расширяемость.
Установка
Установите библиотеку с помощью pip:
pip install telebot-dialogue
Использование
Быстрый старт
from telebot import TeleBot
from telebot_dialogue import Dialogue, DialogueManager
# Инициализация бота
bot = TeleBot('YOUR_BOT_TOKEN')
# Инициализация менеджера диалогов
dialogue_manager = DialogueManager()
# Обработчик сообщений для диалога
def dialogue_handler(message, dialogue):
bot.reply_to(message, f"Вы сказали: {message.text}")
# Команда для начала диалога
@bot.message_handler(commands=['start'])
def start(message):
user_id = message.from_user.id
dialogue = Dialogue(user_id, dialogue_handler)
dialogue_manager.add_dialogue(dialogue)
bot.reply_to(message, "Диалог начат! Напишите что-нибудь.")
# Обработчик всех сообщений
@bot.message_handler(func=lambda m: True)
def handle_message(message):
dialogue_manager.handle_message(message)
# Запуск бота
bot.polling()
Основные классы
Dialogue
Класс для представления диалога с пользователем.
-
Параметры:
user_id— идентификатор пользователя.handler— функция-обработчик сообщений.context— словарь для хранения пользовательского контекста (опционально).
-
Методы:
stop_dialogue()— завершает диалог.continue_dialogue()— возобновляет диалог.update_context(key, value)— добавляет или обновляет данные контекста.get_context(key, default=None)— получает данные из контекста.init_handler(message)— вызывает обработчик сообщения с передачей контекста.
DialogueManager
Класс для управления диалогами.
- Методы:
add_dialogue(dialogue)— добавляет новый диалог.stop_dialogue(user_id)— завершает диалог для пользователя.handle_message(message)— передаёт сообщение соответствующему диалогу.find_dialogue(user_id)— находит диалог для пользователя.continue_dialogue(user_id)— возобновляет диалог для пользователя.finish_dialogue(user_id)— завершает и удаляет диалог для пользователя.
Требования
- Python 3.7+
Лицензия
Этот проект распространяется под лицензией MIT. Подробнее в файле LICENSE.
Контакты
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file telebot_dialogue-0.1.0.tar.gz.
File metadata
- Download URL: telebot_dialogue-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f07ab467e3b1480c5ec6404118319ed3e0ea8c3760e75ba1e43108d755cbe44
|
|
| MD5 |
fdef68e2d7728e8913205d15cc613434
|
|
| BLAKE2b-256 |
b26a4ec7766a1a679e1db480936994fb3017d0f0dee6ba959c77d8261bed0d7c
|