Библиотека для создания текстовых приложений в telegram
Project description
TelegramTextApp
TelegramTextApp — это надстройка над telebot, которая упрощает создание бота в telegram
🌟 Особенности
- Создание всех меню в одном файле
- Для запуска, нужен только API-ключ
- Быстрое создание макета бота
⚙️ Установка и настройка
Требования
- Python 3.10 или новее
- Аккаунт Telegram
Шаги:
Установка библиотеки
pip install git+https://github.com/falpin/TelegramTextApp.git
Первый запуск
if __name__ == "__main__":
from TelegramTextApp import TTA
TTA.start("API_ключ_бота", "'название_файла_для_хранения_меню'.json")
❓ Вопросы
Что такое TTA?
TelegramTextApp - это способ создания telegram бота, что бы для его использования было только одно меню
Есть ли обязательные меню и функции?''
Да, в TTA есть обязательные условия Обязательными меню являются:
error(Если при вызове какгого-то меню, оно не было создано, откроется это меню)error_command- (Если Вы решили обновить своего бота с использованием TTA, это меню необходимо. Если же вы пишете нового бота, то можете удалить)- Вы можете изменять различные параметры этих меню, но название должно остаться неизменным
Обязательные функции:
- Функция для форматирования текста. Она может называться как угодно, но должна быть передана в'' TTA при создании
Зачем нужна эта строчка? if __name__ == "__main__":
TTA использует файл, в котором Вы создали бота, как дополнительный модуль, что бы обрабатывать Ваши функции и если не добавить это условие, при каждом выполнении, TTA будет запускать себя снова и снова
📝 Примеры
Готовый пример - Расписание ЧЭнК
Создание TTA
TTA.start(
"API", # API Вашего бота
"menus", # Название файла, где будут меню
debug=False, # True - при каждой ошибке, будет остановка бота, с указанием где ошибка False(По умолчанию) - Быстрый перезапус при ошибке
tta_experience=True, # Бот будет удалять сообщения пользователя и старые меню бота, для поддеркжки TTA
formating_text="formating_text" # Название функции, для форматирования текста. Если не указать, текст форматироваться не будет
)
Создание меню
"название_меню":{
"width":2, // ширина клавиатуры,
"list_page":20, // количество кнопок в меню (если кнопок больше, чем указано, автоматически добавятся навигационные кнопки)
"text":"Любой текст. *Можно* _использовать_ __markdown__ ||разметку|| [telegram](telegram.com)",
"error_text":"Произошла ошибка",
"buttons":{
"название_меню_которое_нужно_открыть":"Текст кнопки",
"menu_name:Дополнительный_параметр":"Текст кнопки"
},
"create_buttons":"название_вашей_функции", // создание своих кнопкок (не рекомендуется использовать с button)
"return":"название_меню", // кнопка возврата в указаное меню
"function":"название_вашей функции", // выполнение вашей функции, при открытии меню (если text остутсвует, Вы обязаны его вернуть из этой функции)
"loading":"Если Ваша функция будет долго выполняться, можно использовать эту заглушку",
"handler": { // ожидание отправки сообщения от пользователя с последующим выполнением
"function":"название_вашей_функции",
"menu":"название_меню_которое_откроется"
},
"query":{
"text":"Текст уведомления",
"show_alert":false // размер уведомления
},
"send":{
"text":"текст_рассылки",
"recipient":"all" //роль, кому будет отправленна рассылка (так же можно указать id telegram)
}
},
Создание команды
"текст_команды":{
"menu":"название_меню_которое_откроется",
"text":"Краткое описание команды"
},
Функция для форматирования текста
def formating_text(tta_data, text, type_data = None):
format_dict = {}
try:
format_dict = {"input_text":tta_data["input_text"]}
formatted_text = text.format_map(
{key: format_dict.get(key, None) for key in re.findall(r'\{(.*?)\}', text)}
)
except Exception as e:
formatted_text = text.format_map(
{key: format_dict.get(key, None) for key in re.findall(r'\{(.*?)\}', text)}
)
if type_data == "text":
formatted_text = f"*{formatted_text}*"
return formatted_text
Функция для создания кнопок
def create_my_buttons(tta_data=None):
buttons = {}
buttons['название_меню'] = "Текст кнопки"
return buttons
Функция с выводом текста
def my_text(tta_data=None):
text = "Это мой текст"
return text
🤝 Как внести вклад
- Форкните репозиторий
- Создайте ветку с фичей/исправлением:
- Зафиксируйте изменения и отправьте в форк
- Создайте Pull Request с описанием изменений
📬 Обратная связь
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 telegramtextapp-0.5.7.tar.gz.
File metadata
- Download URL: telegramtextapp-0.5.7.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f557d5bc7f7ed78a1d2e9639ca00095d2ce5f146e4aedb0d3fb6f2a46a54d97
|
|
| MD5 |
5dc6c3ef29710cff17df8d3cd92a2759
|
|
| BLAKE2b-256 |
950ac9a3cdc83fdebcec04e5790c9ee99d3c86aad5f1fb1e7e9fbf313edb022a
|
File details
Details for the file telegramtextapp-0.5.7-py3-none-any.whl.
File metadata
- Download URL: telegramtextapp-0.5.7-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e64bf85a813cc99bdd42369c4a684aacf63af4cfd42bac5d4b66fa894aa618bc
|
|
| MD5 |
d6bbb1a02d28c6a83adcf73bf436b9ac
|
|
| BLAKE2b-256 |
3dab7c873747f96b2eb559cf04b5e6b5a338503d03bbcbfe10f2db3f5806a7d5
|