Implement Telegram bot that integrates with ChatGPT using Laravel
Install this package via Composer
composer require giaphiep/chatgpt-telegram
Execute the following command to publish the migrations file to your Laravel application:
php artisan vendor:publish --tag=migrations
then run
php artisan migrate
Step1: Create a Telegram Bot
-
Message
@BotFather
with the following text:/newbot
If you don't know how to message by username, click the search field on your Telegram app and type
@BotFather
, where you should be able to initiate a conversation. Be careful not to send it to the wrong contact, because some users have similar usernames toBotFather
. -
@BotFather
replies with:Alright, a new bot. How are we going to call it? Please choose a name for your bot.
-
Type whatever name you want for your bot.
-
@BotFather
replies with:Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
-
Type whatever username you want for your bot, minimum 5 characters, and must end with
bot
. For example:telesample_bot
-
@BotFather
replies with:Done! Congratulations on your new bot. You will find it at telegram.me/telesample_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. Use this token to access the HTTP API: 123456789:AAG90e14-0f8-40183D-18491dDE For a description of the Bot API, see this page: https://core.telegram.org/bots/api
-
Note down the 'token' mentioned above.
Optionally set the bot privacy:
-
Send
/setprivacy
to@BotFather
. -
@BotFather
replies with:Choose a bot to change group messages settings.
-
Type (or select)
@telesample_bot
(change to the username you set at step 5 above, but start it with@
) -
@BotFather
replies with:'Enable' - your bot will only receive messages that either start with the '/' symbol or mention the bot by username. 'Disable' - your bot will receive all messages that people send to groups. Current status is: ENABLED
-
Type (or select)
Disable
to let your bot receive all messages sent to a group. -
@BotFather
replies with:Success! The new status is: DISABLED. /help
Step 2: Get ChatGPT key from OpenAI
Then add the following lines to your .env file:
OPENAI_API_KEY=
CHATGPT_MODEL=
TELEGRAM_BOT_TOKEN=
Step 3: Set webhook receive incoming updates. (note: remember, that you need use HTTPS)
php artisan set:webhook
For questions and inquiries, you can reach me at hiep.giapvan@gmail.com.