<?
include 'tgLib.php'; //загружаем библиотеку
const TOKEN = 'ТУТ ВАШ ТОКЕН';
$bot = new tgBot(TOKEN);
$data = json_decode(file_get_contents('php://input'),true);
//переменные, что тут надо будут, ладно?
$text = $data['message']['text'];
$chat = $data['message']['chat']['id'];
$id = $data['message']['from']['id'];
$first_name = $data['message']['from']['first_name'];
$reply_author = $data['message']['reply_to_message']['from']['id'];
$reply_message_id = $data['message']['reply_to_message']['message_id'];
//чтобы мощность зря не тратилась
if ($text){
if (strtolower($text) == "/start") $bot->reply($chat, "*Привет.* Я - обычный бот Телеграма. Можешь посмотреть команды, нажав на кнопку ''рамка со слэшем в центре''."); //reply - это просто отсылка сообщения
if (strtolower(mb_substr($text,0,5)) == "/kick") {
if ($reply_author){
$bot->kick($chat,$reply_author); //kick тут работает именно так, да. если что, он выдаст ошибку и закончит скрипт.
$bot->reply($chat,"[Предатель](tg://user?id={$reply_author}) выгнан, [{$first_name}](tg://user?id={$id})."); // [{$first_name}](tg://user?id={$id}) есть упоминание того, кто выполнил команду.
} else { //получить айди пользователя сложно, так что работаем с ответом на сообщение.
$bot->reply($chat, "Ответь на сообщение предателя этой команды и выгони его.");
}
}
if(strtolower($text) == "/picture") $bot->pictureReply($chat,"Держи *картин очку*, [{$first_name}](tg://user?id={$id}).", "http://pm1.narvii.com/7360/5109a4d976422ebdcdbfa23563d6b37a10a27966r1-736-1104v2_hq.jpg"); //а так отправляются картинки. url можно свой, но и file_id, кстати, не отменяли. если что, отпишитесь, как оно.
if(strtolower($text) == "/video") $bot->videoReply($chat,"Держи *видяшку*, [{$first_name}](tg://user?id={$id}).", "http://f0329289.xsph.ru/tg/videoplayback.mp4"); //такой же принцип как и с фото, только видео.
if(strtolower($text) == "/gif") $bot->gifReply($chat,"Держи *гифку*, [{$first_name}](tg://user?id={$id}).", "https://media.giphy.com/media/ifAxq0ON2i5fcjeOdR/giphy.gif"); //аналогично...
if(strtolower($text) == "/audio") $bot->audioReply($chat,"Держи *песенку*, [{$first_name}](tg://user?id={$id}).", "https://mp3star.ru/mp3/Ly9tb29zaWMubXkubWFpbC5ydS9maWxlLzA0YjQ5NDBiNzg5ZDRmNjVhMzVkM2MwMDE5NjU2ZGUyLm1wMw==/МАЛЬЧУГЕНГ%20-%20Том%20и%20Джерри.mp3"); //аналогично.. кстати, так только mp3 читаются
if(strtolower($text) == "/voice") $bot->voiceReply($chat,"Держи *голосовуху*, [{$first_name}](tg://user?id={$id}).", "http://f0329289.xsph.ru/tg/МАЛЬЧУГЕНГ+-+ТУДА-СЮДА.ogg"); //это отсылка аудиосообщений. у меня не сработало, хотя всё верно, НО ЧТОБЫ ЗАРАБОТАЛО НУЖЕН .ogg В КОДЕКЕ OPUS И ТОЛЬКО!!!!
if(strtolower($text) == "/videonote") $bot->videoNoteReply($chat, "https://cs564500.vkuservideo.net/8/e03PD46MT80MTU-/videos/a000a322a2.360.mp4"); //это отсылка видеосообщений. так должно работать, но на время написания это пока не поддерживается. однако заработает file_id ;)
if(strtolower(mb_substr($text,0,9)) == "/newtitle") {
$bot->setChatTitle($chat,mb_substr($text,10)); //эта команда меняет название чата
$bot->reply($chat,"*Имя чата поменялось.* Всё же верно, [{$first_name}](tg://user?id={$id})?");
}
if(strtolower($text) == "/invitelink" or strtolower($text) == "/chatlink") $bot->reply($chat,"*Ссылка на эту беседу:* {$bot->chatInviteLink($chat)['result']}"); //chatInviteLink даёт ссылку на беседу. зачем ['result']? мне лень исправлять там кое-что в библиотеке, но зато вы можете.
if(strtolower($text) == "/pin") {
if (!$reply_message_id) die($bot->reply($chat,"Ответьте на сообщение, что хотите закрепить, этой командой и оно будет закреплено.")); //это вам не вк, где боты не могут получить айди сообщений любых в беседах!
$bot->pinMessage($chat,$reply_message_id); //прикрепление сообщений. ноу-хао будто
$bot->reply($chat,"Сообщение успешно закреплено, [{$first_name}](tg://user?id={$id}).");
}
if(strtolower($text) == "/unpin") {
$bot->unpinMessage($chat); //ну открепление поняятно, даа
$bot->reply($chat,"Всё, что было закреплено, я открепил, [{$first_name}](tg://user?id={$id}).");
}
if(strtolower(mb_substr($text,0,8)) == "/tempban") {
if ($reply_author){
$tempban = $bot->tempban($chat,$reply_author,mb_substr($text,9));
die($bot->reply($chat,"[Предатель](tg://user?id={$reply_author}) выгнан на {$bot->toUnix(mb_substr($text,9))} секунд, [{$first_name}](tg://user?id={$id}). Если он выгнан на <30 или >31622400 секунд, то он навеки выгнан.")); //toUnix конвертирует время типа 1m, 3w, 3y в unix-время. секунд нет, они сломались :) кстати, а вы знали, что в телеграме уже есть поддержка времени бана заранее? :D и да, это возможно не работает пока что.
} else {
die($bot->reply($chat, "Ответь на сообщение предателя этой команды и выгони его.")); //команда по итогу прст должна выглядеть так: /tempban 1m [ответ на сообщение]. и да, я использую die, чтобы сразу завершался скрипт. вы можете это не делать.
}
}
}
https://api.telegram.org/bot<ТОКЕН ВАШ>/setWebhook?url=https://<ССЫЛКА НА ФАЙЛ bot.php ИЛИ ДРУГОЙ, ГДЕ КОД БОТА САМ>
Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter