Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Sample Telegram Bot (1)
<?php
$content = file_get_contents("php://input");
$update = json_decode($content, true);
if(!$update)
{
exit;
}
$message = isset($update['message']) ? $update['message'] : "";
$messageId = isset($message['message_id']) ? $message['message_id'] : "";
$chatId = isset($message['chat']['id']) ? $message['chat']['id'] : "";
$firstname = isset($message['chat']['first_name']) ? $message['chat']['first_name'] : "";
$lastname = isset($message['chat']['last_name']) ? $message['chat']['last_name'] : "";
$username = isset($message['chat']['username']) ? $message['chat']['username'] : "";
$date = isset($message['date']) ? $message['date'] : "";
$text = isset($message['text']) ? $message['text'] : "";
$text = trim($text);
$text = strtolower($text);
header("Content-Type: application/json");
$response = '';
if(strpos($text, "/start") === 0 || $text=="ciao")
{
$response = "Ciao $firstname, benvenuto!";
}
elseif($text=="domanda 1")
{
$response = "risposta 1";
}
elseif($text=="domanda 2")
{
$response = "risposta 2";
}
else
{
$response = "Comando non valido!";
}
$parameters = array('chat_id' => $chatId, "text" => $response);
$parameters["method"] = "sendMessage";
echo json_encode($parameters);
@parsec82

This comment has been minimized.

Copy link

parsec82 commented Jul 25, 2016

Ciao!,
ho provato ad utilizzare il sample utilizzando le domande/risposte che servivano.
Quando viene utilizzato direttamente come bot va perfettamente ma avrei bisogno di poter fare rilevare i comandi anche quando viene usato il comando /domanda1@nomebot
in quanto nei testi ho fatto riferimento ad altri comandi e quando vengono cliccati invece di dare (come è scritto) /domanda1 appare /domanda1@nomebot
come è possibile risolvere tale problematica?

@salvatorecordiano

This comment has been minimized.

Copy link
Owner Author

salvatorecordiano commented Sep 12, 2016

Ciao @parsec82, ho letto adesso il tuo commento.
Ti riferisci alle inline queries come indicato qui https://core.telegram.org/bots/inline?

Fammi sapere, a presto,
Salvatore

@isketch93

This comment has been minimized.

Copy link

isketch93 commented Sep 25, 2016

Ciao Salvatore,
Vorrei modificare questo sample per verificare se un server, di cui conosco l'indirizzo IP, sia online oppure no.
Su internet ho trovato una funzione (la seconda illustrata in questa pagina https://goo.gl/Cts2JN) che sembra fare al caso mio, ma non riesco a integrarla nel codice senza che il bot smetta completamente di funzionare. Sai come potrei riuscirci? O come potrei ottenere lo stesso risultato in un modo più semplice? Premetto di non sapere nulla di php, potrei aver sbagliato da inesperto un procedimento semplicissimo...

@gio700

This comment has been minimized.

Copy link

gio700 commented Jan 26, 2017

Ciao salvatore ,

come faccio per farmi dare un file da dropbox facendo la richiesta a bot?

@shadowkrad

This comment has been minimized.

Copy link

shadowkrad commented Mar 10, 2017

Ciao Salvatore sto usando questo script ma vorrei ottenere una risposta random anziche la risposta singola è possibile?

Grazie

@joxhn10

This comment has been minimized.

Copy link

joxhn10 commented Apr 25, 2020

ciao vorrei sapere se c'è una funzione che permette di prendere un messaggio scritto dall'utente al bot e inviarlo in privato all'admin del bot:

esempio:
l'utente entra nel bot e dice ciao
quel ciao voglio che vada anche all'admin del bot

@salvatorecordiano

This comment has been minimized.

Copy link
Owner Author

salvatorecordiano commented Apr 26, 2020

Ciao @joxhn10! Si è possibile farlo. In pratica nel webhook leggi il messaggio che ti arriva e poi utlizzi l'API di sendMessage con destinatario l'admin

@joxhn10

This comment has been minimized.

Copy link

joxhn10 commented Apr 26, 2020

@salvatorecordiano

This comment has been minimized.

Copy link
Owner Author

salvatorecordiano commented Apr 26, 2020

Se metti insieme gli esempi che ci sono sui link in fondo al tutorial riesci a raggiungere l'obiettivo @joxhn10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.