Skip to main content

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.

Контакты

tiver@tiver211.ru

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

telebot_dialogue-0.2.0.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file telebot_dialogue-0.2.0.tar.gz.

File metadata

  • Download URL: telebot_dialogue-0.2.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for telebot_dialogue-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4dee017f9dc5b44b1fde2cc14c22df5b2eec36093bdafa34bf17f047099ddb55
MD5 bb5f39a4dfbb8fda48e8e76421d176ee
BLAKE2b-256 b73aae30e914184a53d7007964e6e9860c67362b9796ec0e120d182ef1847be4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page