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

Uploaded Source

File details

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

File metadata

  • Download URL: telebot_dialogue-0.2.1.tar.gz
  • Upload date:
  • Size: 8.9 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.1.tar.gz
Algorithm Hash digest
SHA256 4fb24ae5f38983430fa37bcc351306ab48a09906c253265bcdbdada436d232f9
MD5 063912193fcae6b2571ed1ce72d6377a
BLAKE2b-256 0612ac7b52e983d2c6f164b61cea4867326647a114695d9151c4b692adfed315

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