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.3.2.tar.gz (11.3 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: telebot_dialogue-0.3.2.tar.gz
  • Upload date:
  • Size: 11.3 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.3.2.tar.gz
Algorithm Hash digest
SHA256 e3fca4670bc57e81f8dc5a24335b5d1185e7a594d55ba67938411f3efd5ce286
MD5 c03e2c85f71ab317ad8c96b63b66f179
BLAKE2b-256 6952d230239d2240809b20b07505cf5de82865c0c34a4846d6dd772b5d32b13a

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