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 содержит стандартные текстовки для переводов текстов.
Release files for spreadsheetbot 2.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spreadsheetbot-2.5.2.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spreadsheetbot-2.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.7 kB
Release files / spreadsheetbot-2.5.2.tar.gz
| Download URL | spreadsheetbot-2.5.2.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
13a5fc793546fd48e339747d84187c63896ed875bc54777a843214d10610dc2b
|
|
BLAKE2b-256 checksum How to use checksums |
8070ab366a5d1c8ae58e07a529fbe83d8020ce90b6ffce8cda008bfc6bfd12dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.3
|
Release files / spreadsheetbot-2.5.2-py3-none-any.whl
| Download URL | spreadsheetbot-2.5.2-py3-none-any.whl |
|---|---|
| Size | 25.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44e4c2245d2d4a8f0f74be9b278b102c5e6329a8d6c08a7d9194e97107f25985
|
|
BLAKE2b-256 checksum How to use checksums |
61d821718b739e0c3dd8d52984b1e9ef23c547e227bd9d7fa4eab314caac3507
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.3
|