- Database MYSQL (Optional)
- PHP 8
- Root akses (VPS) / CPANEL File Manager jika Shared Host
- Extrak Order_Bot_telegram.zip ke dalam folder root domain/sub.domain
- Opsional Silahkan Rename Folder bot jika di taro di root folder domain atau keluarkan dari folder file nya jika menggunakan sub domain (lihat bagian gambar domain utama dan sub domain untuk penampakan nya)
2.1 Domain Utama 2.2 Subdomain
- Buka terminal lalu pindah kan terminal ke folder instalasi Bot Telegram
- ketik composer install tunggu dan pastikan plugin terdownload (Beberapa plugin membutuhkan PHP terbaru atau minimal 8)
- Buka .env dengan text editor Ganti Configurasi yang ada disana dengan configurasi server kamu seperti url webhook , nama bot, api bot, root folder, database dll
- Jika ingin menggunakan database silahkan Import Bot.sql ke dalam database yang telah di buat lalu pada .env file silahkan isi configurasi database disana jika tidak menggunakan database harap kosongkan saja
Merecord semua data user yang bergabung/interaksi personal chat dengan bot , menyimpan sessions
buka browser masuk ke https://domain.com/folderbot/public/manager.php?s=password&a=set
(jika menggunakan subdomain tanpa folder bot langsung ke folder public)
Petunjuk :
- Parameter s : secret key yang di sudah di setting di file .env agar url hook bot tidak sembarangan di akses tanpa memasukan parameter key yang benar file tidak akan melanjutkan aksinya
- parameter a : action controll Hook set untuk set webhook , unset untuk menghapus webhook , reset merestart webhook
Method getUpdate dilakukan menggunakan Terminal CLI caranya buka terminal dan masuk ke folder public bot type
php getUpdate.php [enter]
maka terminal akan melakukan Looping dan Logging sampai terminal ditutup atau di hentikan
buka cronjob di cpanel lalu setting waktu cronjob 1 sampai 10 mnt Silahkan Sesuikan Kebutuhan buat satu minut untuk group paste perintah ini
wget -O /dev/null https://domain.com/folderbot/cron.php
Jika Kalian Menggunakan VPS atau LocalServer Windows Sesuaikan dengan server masing2 Cronjobnya
- masuk ke folder commands/
Silahkan Edit atau Membuat Command Baru
Format Command Baru :
Buat File PHP dengan nama TestCommand.php
(Nama Wajib Menggunakan Command di bekang nya Misalnya ingin membuat command /beli pada bot maka nama command nya adalah BeliCommand.php)
- Isi TestCommand.php dengan :
<?php
declare(strict_types=1);
namespace Longman\TelegramBot\Commands\UserCommands;
use Longman\TelegramBot\Commands\UserCommand;
use Longman\TelegramBot\Entities\ServerResponse;
use Longman\TelegramBot\Exception\TelegramException;
use Longman\TelegramBot\Request;
use Longman\TelegramBot\Entities\Keyboard;
use Longman\TelegramBot\Entities\KeyboardButton;
use Longman\TelegramBot\Entities\InlineKeyboard;
use Longman\TelegramBot\Entities\InlineKeyboardButton;
use LitEmoji\LitEmoji;
use TelegramBot\SupportBot\Helpers;
/**
* User "/test" command
*/
class TestCommand extends UserCommand
{
/**
* @var string huruf kecil
*/
protected $name = 'test';
/**
* @var string
*/
protected $description = 'Jelaskan tentang command ini';
/**
* @var string Versi Command
*/
protected $version = '0.2.0';
/**
* @var string Sama kan dengan nama command
*/
protected $usage = '/test';
/**
* @var bool
* True artinya command hanya berjalan di private chat /personal bot
*/
protected $private_only = true;
public function execute(): ServerResponse
{
// Mengambil Respon Raw Pesan dari user ke webhook
$message = $this->getMessage();
$command_str = trim($message->getText(true));
$user_id = $message->getFrom()->getId();
$chat_id = $message->getChat()->getId();
// Mengambil Nama Bot dari ENV
$username = getenv('TG_BOT_NAME');
// Pesan yang dikirim bot ketika commad di tekan
$out_text = "Hello {$message->getChat()->tryMention(true)} \n";
$out_text .= "Selamat Datang di Bot {$username}\n\n";
return Request::sendMessage([
'text' => LitEmoji::encodeUnicode($out_text),
'chat_id' => $chat_id,
'parse_mode' => 'markdown',
]);
}
}
?>