Skip to content

falbue/TelegramTextApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TelegramTextApp

TelegramTextApp — это надстройка над telebot, которая упрощает создание бота в telegram

🌟 Особенности

  • Создание всех меню в одном файле
  • Для запуска, нужен только API-ключ
  • Быстрое создание макета бота

⚙️ Установка и настройка

Требования

  • Python 3.10 или новее
  • Аккаунт Telegram

Шаги:

Установка библиотеки

pip install TelegramTextApp

Первый запуск

import TelegramTextApp
if __name__ == "__main__":
    TelegramTextApp.start(
        token="bot_token",
        json_file="путь_к_json_файлу.json",
        database="путь_к_базе_данных.db",
        debug=False
        )

Минимальная структура бота

Структура для хранения атрибутов

{
    "bot":{},
    "menu":{},
    "mini_menu":{},
    "buttons":{},
    "commands":{}
}

Создание меню

"название_меню":{
  "row":2, // ширина клавиатуры,

  "text":"Любой текст. *Можно* _использовать_ __markdown__ ||разметку|| [telegram](telegram.com)",

  "keyboard":{
    "название_меню_которое_нужно_открыть":"Текст_кнопки",
    "menu_name|{динамическая_вставка_данных}":"Текст_кнопки"
  },
  "keyboard":"название_вашей_функции", // создание своей клавиатуры 

  "return":"название_меню", // кнопка возврата в указаное меню

  "function":"название_вашей функции", // выполнение вашей функции, при открытии меню (можно передавать динамические параметры)

  "input": { // ожидание отправки сообщения от пользователя с последующим выполнением
    "function":"название_вашей_функции",
    "menu":"название_меню_которое_откроется",
    "data":"название динамического параматра"
  }
}

Создание команды

"название_команды":{
  "menu":"название_меню_которое_откроется",
  "description":"Краткое описание команды"
},

Обязательные кнопки

"buttons":{
    "return":"🔙 Назад",
    "notification":"Прочитано"
},

Кастомные функции

Функция для создания кнопок

async def create_my_buttons(tta_data):
    buttons = {}
    buttons['название_меню'] = "Текст кнопки"
    return {"название_меню_которое_нужно_открыть":"Текст_кнопки"}

Функция с возвратом динамического параметра

def my_text(tta_data=None):
    text = "Это мой текст"
    return {"название_параметра":"значение параметра"}

🤝 Как внести вклад

  • Форкните репозиторий
  • Создайте ветку с фичей/исправлением:
  • Зафиксируйте изменения и отправьте в форк
  • Создайте Pull Request с описанием изменений

📬 Обратная связь

  • Автор: falbue
  • Баги и предложения: Issues

About

TTA - надстройка, для упрощения создания ботов в telegram

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages