losthost / telle
A simple template for extreme complex bot
Installs: 157
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/losthost/telle
Requires
- php: >=8.1.1
 - dragonmantank/cron-expression: v3.3.3
 - losthost/db: ^3
 - telegram-bot/api: 2.6.x-dev
 
- dev-master
 - 4.4.1b
 - 4.4.0b
 - v4.3.19b
 - v4.3.18b
 - v4.3.17b
 - v4.3.16b
 - v4.3.15b
 - v4.3.14b
 - v4.3.13b
 - 4.3.12b
 - 4.3.11b
 - v4.3.10b
 - v4.3.9b
 - v4.3.8b
 - v4.3.7b
 - v4.3.6b
 - v4.3.5b
 - v4.3.4b
 - v4.3.3b
 - v4.3.2b
 - v4.3.1b
 - v4.3.0b
 - v4.2.3b
 - v4.2.2
 - v4.2.1b
 - v4.2.0b
 - v4.1.6b
 - v4.1.5b
 - v4.1.4b
 - v4.1.3b
 - v4.1.2b
 - v4.1.1b
 - v4.1.0b
 - v4.0.15a
 - v4.0.14a
 - v4.0.13a
 - v4.0.12a
 - v4.0.11a
 - v4.0.10a
 - v4.0.9a
 - v4.0.8a
 - v4.0.7a
 - v4.0.6a
 - v4.0.5a
 - v4.0.4a
 - v4.0.3a
 - v4.0.2a
 - v4.0.1a
 - v4.0.0
 - v3.1.2
 - v3.1.1
 - v3.1.0
 - v3.0.4
 - v3.0.3
 - v3.0.2
 - v3.0.1
 - v3.0.0
 - v2.0.1
 - v2.0.0
 - v1.4.0
 - v1.3.3
 - v1.3.2
 - v1.3.1
 - v1.3.0
 - v1.2.1
 - v1.2.0
 - v1.1.4
 - v1.1.2
 - v1.1.1
 - v1.1.0
 - v1.0.0
 - dev-v4-dev
 - dev-old
 
This package is auto-updated.
Last update: 2025-10-05 07:43:56 UTC
README
Этот фреймворк позволяет создавать ботов Telegram, которые могут работать как в режиме веб-сервера через веб-хук, так и в автономном (cli) режиме, получая обновления через getUpdates().
В автономном режиме поддерживается многопоточность, через запуск worker-процессов если это необходимо для высоконагруженных проектов.
Также фреймворк имеет свой собственный планировщик заданий, который позволяет стартовать классы-потомки AbstractBackgroundProcess внутри потока планировщика или в отдельном потоке (рекомендуется для процессов потребляющих много времени)
Быстрый старт
- Создайте проект и подключите Telle через composer:
 
    "require": {
        "losthost/telle": "^4",
    },
- Создайте etc/bot_config.php:
 
$token      = 'bot:token_полученный_от_BotFather';
$ca_cert    = 'Путь/к/cacert.pem';
$timezone   = 'Default/Timezone';       // ex. Europe/Moscow
$db_host    = 'your.database.host';
$db_user    = 'db_username';
$db_pass    = 'Db-PAssWorD';
$db_name    = 'database_name';
$db_prefix  = 'table_prefix_';
- Создайте обработчик
 
use losthost\telle\abst\AbstractHandlerCommand;
use losthost\telle\Bot;
class CommandStart extends AbstractHandlerCommand {
    const COMMAND = 'start';
    protected function handle(\TelegramBot\Api\Types\Message &$message) : bool {
        Bot::$api->sendMessage(Bot::$chat->id, 'Hello World!');
        return true;
    }
}
- Создайте файл запуска бота (например index.php) содержащий следующие строки:
 
use losthost\telle\Bot;
require 'vendor/autoload.php';
// Инициализация бота
Bot::setup();
// Ваша собственная инициализация если нужна
// (добавьте сюда какой-нибудь код)
// Добавьте обработчик(и)
Bot::addHandler(CommandStart::class);
// Запустите бота
Bot::run();
(Посмотрите папку src/samples, там есть другие примеры обработчиков. В папке src/abst находятся классы-родители обработчиков)
TODO
Создать репозиторий с примером бота и сделать ссылку на него