molsoft/web-telegram-bot

使用Laravel创建类似创建网站一样的Telegram机器人。

v1.0.8 2024-04-08 11:25 UTC

This package is auto-updated.

Last update: 2024-09-08 12:19:24 UTC


README

Pest Laravel Expectations

Latest Version on Packagist Php Version Php Version Total Downloads Website Telegram

Web Telegram Bot 是一个用于创建类似网站一样的Telegram机器人的Laravel包。内部路由、会话、表单、模板、布局。

此模块允许您使用Laravel和Telegraph包创建Telegram机器人,就像创建网站一样。

如需帮助,请联系我。

安装

您可以通过composer安装此包

composer require mollsoft/web-telegram-bot

php artisan web-telegram-bot:install

php artisan migrate

在文件 app/Providers/RouteServiceProvider.php 中,在 $this->routes(function () { 下添加行

if( is_file(base_path('routes/telegraph.php')) ) {
    Route::middleware('telegraph')
        ->name('telegraph.')
        ->prefix('telegraph')
        ->group(base_path('routes/telegraph.php'));
}

之后,您需要根据Telegraph的说明创建Telegram机器人。

命令

添加Telegram机器人

php artisan telegraph:new-bot

从Telegram机器人手动轮询更新

php artisan telegraph:polling BOT_ID --debug

从Telegram机器人手动接收实时更新

php artisan telegraph:live --debug

视图示例

<message>
    <video src="{{ resource_path("media/logo.mp4") }}" />
    <reply-keyboard>
        <row>
            <columm>Menu 1</columm>
            <column>Menu 2</column>
        </row>
        <row>
            <columm>Menu 3</columm>
            <column>Menu 4</column>
        </row>
    </reply-keyboard>
</message>
<message>
    <p>Hello! Choice you language</p>
    <keyboard>
        <row>
            <column>
                <button value="language:en">English</button>
            </column>
        </row>
        <row>
            <column>
                <button value="language:ru">Russian</button>
            </column>
        </row>
        <row>
            <column>
                <a href="{{ route('contacts') }}">Support</a>
            </column>
        </row>
    </keyboard>
</message>

如何制作404页面?

创建文件 resources/views/telegraph/errors/404.blade.php

自动清除对话

如果您想创建一个不会永久删除的消息,请使用

标签而不是

示例

<main>
    <video src="{{ resource_path("media/logo.mp4") }}" />
    <reply-keyboard>
        <row>
            <columm>Menu 1</columm>
            <column>Menu 2</column>
        </row>
        <row>
            <columm>Menu 3</columm>
            <column>Menu 4</column>
        </row>
    </reply-keyboard>
</main>