Google Spreadsheet-based Telegram Bot Package
Project description
Python библиотека бота с управлением Google таблиц
Пример таблицы - только на чтение
Установка библиотеки
pip install spreadsheetbot
Использование библиотеки
Для использования библиотеки потребуется обеспечить следующие параметры:
-
bot_token: str- Токен подключения бота -
sheets_secret: str- JSON строка с ключами доступа к Google Cloud API -
sheets_link: str- Ссылка для подключения к Google таблице -
switch_update_time: int- Время обновления таблицыРубильник(сек) -
setting_update_time: int- Время обновления таблицыНастройки(сек)
Далее, следует имортировать класс библиотеки и обеспечить его работу
from spreadsheetbot import SpreadSheetBot
if __name__ == "__main__":
bot = SpreadSheetBot(BotToken, SheetsSecret, SheetsLink, SwitchUpdateTime, SettingsUpdateTime)
bot.run_polling()
Дополнительно, возможно указать debug настройки вывода библиотеки:
from spreadsheetbot import Log, DEBUG
Log.setLevel(DEBUG)
Log.debug("Starting in debug mode")
Функциональное наполнение - поддерживаемые таблицы
Рубильник
Эта таблица предназначена для срочного выключения бота, поле bot_active выключает бота с исключением BotShouldBeInactive.
Поле user_registration_open заперщает регистрацию новых пользователей.
Группы
Бота можно добавлять в группы, однако требуется ручное добавление идентификатора группы для использования ботом.
Идентификатор группы можно получить из таблицы Логи.
Группы могут иметь статус is_admin Нет, Да и Супер. Обычные группы получают все уведомления из таблицы Оповещения, админские группы - оповещения о количестве зарегистрированных пользователей и имею команду /report - будет выслано содержимое таблицы Отчёт.
Суперадминские группы также получают уведомления об ошибках:
-
Общие ошибки
-
Ошибки ввода пользователей
Пользователи
Пользователи (таблица Пользователи) могут регистрировать в соответствии с описанием в таблице Параметры регистрации.
В таблице Параметры регистрации можно указать ссылку для записи данных на диск. В случае если ссылка указана, от пользователя будет ожидаться передача фото или документа. Фото или документ будет сохранён по указанной ссылке с именем файла, соответствующем полю пользоватля, указанному в таблице Настройки в поле user_document_name_field. Такие поля не предполагаются как основные вопросы поскольку текст из таблицы не форматируется в форме отображения регистрации пользователя. Директория обязательно должна быть с доступом на записть!
Также можно указать state для того чтобы пользователь ответил на конвретный вопрос - аналогично таблице Оповещения.
Пользователи имеют возможность изменить регистрационные данные при помощи таблицы Клавиатура
Оповещения
Оповещения высылаются в установленную дату, возможно выслать картинку и указать поле, в которое таблицу будут сохранены ответы пользователей.
Можно указать как варианты ответов на вопросы в формате перечисленных кнопок или добавить единственную кнопку для начала ввода пользователя. Подробнее правила оформления смотри в описании колонок в тестовой таблице.
Возможно указать ссылку для сохранения фото или документа, далее логика аналогична сохранению фото или документа в таблице Пользватели.
Возможно указать столбец - условие для оповещения. В таком случае, оповещение будут получать только пользователи, для которых указано значение Да в этом слобце. Для успешного оповещения следует учитывать время синхронизации между таблицами Пользователи и Оповещения!
Клавиатура
Клавиатура содержит описание показываемой зарегистрированному пользователю клавиатуры с помощью ввода.
Поддерживается функция (поле function) register для изменения регистрационных данных пользователя.
Настройки, Логи, i18n
Настройки содержат все настройки приложения, в том числе текстовки стандартных сообщений пользователю.
В Логи записываются запуски, остановки приложения, добавления бота в группы, баны пользователей и ошибки ввода пользователя.
Интернационализация i18n содержит стандартные текстовки для переводов текстов.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spreadsheetbot-2.2.0.tar.gz.
File metadata
- Download URL: spreadsheetbot-2.2.0.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e14914d32a179673cd480bf4515f2ab541a9fd8779ee8401f221056d73b54306
|
|
| MD5 |
1fcd3a83e9e833518aad6fe0d35f95a4
|
|
| BLAKE2b-256 |
6bddf90487f61c0ecd8f2de670a8c4dcdfd313836511dd7e389cbec181d3acc1
|
File details
Details for the file spreadsheetbot-2.2.0-py3-none-any.whl.
File metadata
- Download URL: spreadsheetbot-2.2.0-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1ff189d979dbbcc19abb1b9a565ff052130a106d14e35f52a13cc679df89a26
|
|
| MD5 |
e50cf1fe536f4d0e69c4564678463d88
|
|
| BLAKE2b-256 |
754ca821b1345820a52763aeb149eeda63d5d8c4f1546c7f306c120ee8d65ca9
|