No project description provided
Project description
Firebase Persistence for python-telegram-bot
This is an implementation of python-telegram-bot BasePersistence
class that uses Google Firebase as persistence back-end.
This has a very nice advantage of being able to look at your user_data
, chat_data
, bot_data
and convesations
real-time using the firebase web app.
Installation
Usage
Before you start: obtain credentials from firebase
First of all you need to obtain firebase credentials, that look like this:
{
"type": "service_account",
"project_id": "YOUR_ID",
"private_key_id": "YOUR_PRIVATE_KEY",
"private_key": "-----BEGIN PRIVATE KEY-----\nMII...EwQ=\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-odh1e@SOME_DOMAIN.iam.gserviceaccount.com",
"client_id": "11743776666698009",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-SOMES_STRING.iam.gserviceaccount.com"
}
and the firebase database url that looks like this, something like https://YOUR_APP.firebaseio.com
Instantiation
From environment variables (recommended)
Store the database URL in an environment variable FIREBASE_URL
and the config as a json string in an environment variable
FIREBASE_CREDENTIALS
.
After that instantiation is as easy as:
from ptb_firebase_persistence import FirebasePersistence
from telegram.ext import Updater
persistence = FirebasePersistence.from_environment()
updater: Updater = Updater(
'BOT_TOKEN',
persistence=my_persistence,
use_context=True,
)
Direct instantiation
You can also just pass the firebase credentials as URL as simple init params:
from ptb_firebase_persistence import FirebasePersistence
from telegram.ext import Updater
persistence = FirebasePersistence(database_url='YOUR_DATABASE_URL', credentials='YOUR_CREDENTIALS_DICT')
updater: Updater = Updater(
'BOT_TOKEN',
persistence=my_persistence,
use_context=True,
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ptb_firebase_persistence-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 761ff06c2c105a9d6f0b292ca574ebb9074d1fb57c671b7216e438ef9f3cc33b |
|
MD5 | 5b1b4504767d8cd7e14d10762e6e1174 |
|
BLAKE2b-256 | 6fb78f21484d1dbfaee2956430352612c6870cfdcd0354347ccefc5f52a279c7 |
Hashes for ptb_firebase_persistence-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2ca5a893bf396e07cbbc219aee79b5c077fa3987fd1a29fa47b8165984c4631 |
|
MD5 | 0a445ac3c5e666d9225920a50be530d0 |
|
BLAKE2b-256 | 83b387cfe70b5930bb7461e2bca17bd69793e0139c7e806b810b541b625f944b |