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

Uploaded Source

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

Hashes for telebot_dialogue-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9f07ab467e3b1480c5ec6404118319ed3e0ea8c3760e75ba1e43108d755cbe44
MD5 fdef68e2d7728e8913205d15cc613434
BLAKE2b-256 b26a4ec7766a1a679e1db480936994fb3017d0f0dee6ba959c77d8261bed0d7c

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