Skip to main content

Storage for bots that allows you to save the states and data of users.

Project description

bot-storage

Storage - an object that allows you to save the states and data of users.
The storage.py file describes the abstract class BaseStorage, inheriting from which, you can implement your own storage (eg DBStorage or JSONStorage).
Such storages, however, will obviously not be more efficient than the already implemented RedisStorage.

Installation:

pip install bot-storage

Setting up

YourProject/tbot/storage.py

from os import getenv

from bot_storage.storage import RedisStorage


storage = RedisStorage(
    host=getenv('REDIS_HOST', 'localhost'),
    username=getenv('REDIS_USER', None),
    password=getenv('REDIS_PASSWORD', None)
)

YourProject/settings.py

from tbot.storage import storage


# Your storage for user states & data
BOT_STORAGE = storage

Start Redis

redis-server

Usage

For example YourProject/tbot/handlers.py

from telebot import types
from telebot.apihelper import ApiTelegramException
from tbot_base.bot import tbot

from .storage import storage as st


@tbot.message_handler(
    func=lambda msg: st.get_user_state(msg.from_user.id) == 'some_state#'
)
def send_faq_search(msg: types.Message):
    tbot.send_message(chat_id=msg.from_user.id, text='Hello!')

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

bot-storage-1.0.1.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

bot_storage-1.0.1-py3-none-any.whl (3.4 kB view hashes)

Uploaded Python 3

Supported by

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