204 lines
11 KiB
PHP
204 lines
11 KiB
PHP
|
<?php
|
||
|
include("Telegram.php");
|
||
|
|
||
|
// Set the bot TOKEN
|
||
|
$bot_id = "BOT_TOKEN_DA_INSERIRE";
|
||
|
|
||
|
// Instances the class
|
||
|
$telegram = new Telegram($bot_id);
|
||
|
|
||
|
date_default_timezone_set("Europe/Rome");
|
||
|
|
||
|
$data = $telegram->getData();
|
||
|
$query = $data['inline_query']['query'];
|
||
|
$user = $data['inline_query']['from'];
|
||
|
$queryid = $data['inline_query']['id'];
|
||
|
$inline_query_id = $telegram->Inline_Query_ID();
|
||
|
$inline_query_text = $telegram->Inline_Query_Text();
|
||
|
$msgType = $telegram->getUpdateType();
|
||
|
$text = $telegram->Text();
|
||
|
$chat_id = $telegram->ChatID();
|
||
|
|
||
|
|
||
|
|
||
|
if($msgType == 'inline_query'){
|
||
|
|
||
|
if(!empty($inline_query_text)){
|
||
|
|
||
|
$results = array(
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "1",
|
||
|
"title" => "Alternative a Google Search",
|
||
|
"message_text" => "Come alternativa a Google consigliamo *DuckDuckGo*, *Swisscows* e *Startpage*. Leggi il nostro articolo: [Alternative a Google Search](https://t.me/iv?url=https://www.lealternative.net/2019/10/18/alternative-a-google-search/&rhash=27fd4bba8b34fa\)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/18/alternative-a-google-search/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeagooglesearch2.jpg.webp",
|
||
|
"description" => "Motori di ricerca alternativi"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "2",
|
||
|
"title" => "Alternative a Google Chrome",
|
||
|
"message_text" => "Come alternativa a Google Chrome su desktop consigliamo *Firefox* e *Brave*. Su Android meglio usare *Bromite*, *Firefox*, *Brave* oppure *DuckDuckGo Browser*. Su iOS potete provare *Firefox*, *DuckDuckGo Browser*, *Brave* e *SnowHaze*. Leggi il nostro articolo: [Alternative a Google Chrome](https://t.me/iv?url=https://www.lealternative.net/2019/10/21/alternative-a-google-chrome/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/21/alternative-a-google-chrome/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeagooglechrome2.jpg.webp",
|
||
|
"description" => "Browser alternativi"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "3",
|
||
|
"title" => "Alternative a YouTube",
|
||
|
"message_text" => "Puoi vedere YouTube privatamente con *NewPipe* su Android. Puoi usare *FreeTube* su desktop e il sito *Invidious* sul web. Prova anche l'alternative decentralizzata a YouTube chiamata *PeerTube*! Leggi il nostro articolo: [Alternative a Youtube](https://t.me/iv?url=https://www.lealternative.net/2019/10/22/alternative-a-youtube/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/22/alternative-a-youtube/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeayoutube2.jpg.webp",
|
||
|
"description" => "YouTube e video sharing"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "4",
|
||
|
"title" => "Alternative a Google Translate",
|
||
|
"message_text" => "Non esiste solo Google Translate. Puoi provare *DeepL*, *LibreTranslate* e *Tatoeba*. Leggi il nostro articolo: [Alternative a Google Traduttore](https://t.me/iv?url=https://www.lealternative.net/2019/10/24/alternative-a-google-traduttore/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/24/alternative-a-google-traduttore/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeagoogletraduttore2.jpg.webp",
|
||
|
"description" => "Traduzioni"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "5",
|
||
|
"title" => "Alternative a Google Maps",
|
||
|
"message_text" => "Prova qualcosa di diverso da Google Maps come *OsmAND*, *Magic Earth* oppure le mappe su *DuckDuckGo*. Per i mezzi pubblici pubblici prova *CityMapper* e *Moovit*. Per la bici? Prova *Naviki*! Leggi il nostro articolo: [Alternative a Google Maps](https://t.me/iv?url=https://www.lealternative.net/2019/10/25/alternative-a-google-maps/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/25/alternative-a-google-maps/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeagooglemaps2.jpg.webp",
|
||
|
"description" => "Mappe e viaggi"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "6",
|
||
|
"title" => "Alternative a Gmail",
|
||
|
"message_text" => "Esistono email sicure e private come ad esempio *ProtonMail*, *Tutanota* oppure *Posteo*. Leggi il nostro articolo: [Alternative a Gmail](https://t.me/iv?url=https://www.lealternative.net/2019/10/28/alternative-a-gmail/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/28/alternative-a-gmail/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeagmail2-1.jpg.webp",
|
||
|
"description" => "Email"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "7",
|
||
|
"title" => "Alternative a Google Drive",
|
||
|
"message_text" => "Esistono tantissime alternative a Google Drive! Queste secondo noi le migliore: *Tresorit*, *Mega*, *Sync*, *Nextcloud*, *kDrive*, *Koofr*. Leggi il nostro articolo: [Alternative a Google Drive](https://t.me/iv?url=https://www.lealternative.net/2019/10/29/alternative-a-google-drive/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/29/alternative-a-google-drive/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeagoogledrive2.jpg.webp",
|
||
|
"description" => "File in cloud"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "8",
|
||
|
"title" => "Alternative a Google Password Manager",
|
||
|
"message_text" => "I password manager sono fondamentali per la sicurezza online. Prova *Bitwarden*, *Keepass* oppure *Firefox Lockwise*. Leggi il nostro articolo: [Alternative a Google Password Manager](https://t.me/iv?url=https://www.lealternative.net/2019/10/31/alternative-a-google-password-manager/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/10/31/alternative-a-google-password-manager/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/10/alternativeagooglepassword2.jpg.webp",
|
||
|
"description" => "Password al sicuro"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "9",
|
||
|
"title" => "Alternative a Google Authenticator",
|
||
|
"message_text" => "Oltre a una password sicura è fondamentale l'autenticazione a due fattori. Quale applicazione utilizzare per la 2FA? Prova *Aegis* e *andOTP*! Leggi il nostro articolo: [Alternative a Google Authenticator](https://t.me/iv?url=https://www.lealternative.net/2019/11/01/alternative-a-google-authenticator/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/11/01/alternative-a-google-authenticator/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/11/alternativeagoogleauthenticator2-1.jpg.webp",
|
||
|
"description" => "Autenticazione a due fattori"
|
||
|
),
|
||
|
array(
|
||
|
"type" => "article",
|
||
|
"id" => "10",
|
||
|
"title" => "Alternative a Google Keep",
|
||
|
"message_text" => "Sono tante le applicazioni per prendere appunti in sicurezza. Prova *Standard Notes*, *Carnet*, *Simplenote* oppure *Joplin*. Leggi il nostro articolo: [Alternative a Google Keep](https://t.me/iv?url=https://www.lealternative.net/2019/11/04/alternative-a-google-keep/&rhash=27fd4bba8b34fa)",
|
||
|
"parse_mode" => "markdown",
|
||
|
"url" => "https://www.lealternative.net/2019/11/04/alternative-a-google-keep/",
|
||
|
"thumb_url" => "https://www.lealternative.net/wp-content/uploads/2019/11/alternativeagooglekeep2.jpg.webp",
|
||
|
"description" => "Prendere appunti e creare note"
|
||
|
)
|
||
|
);
|
||
|
|
||
|
// INIZIO MODIFICHE FRANCESCO
|
||
|
//definiamo un nuovo array vuoto
|
||
|
$resultfiltered = [];
|
||
|
|
||
|
// Guida veloce array PHP: https://www.selectallfromdual.com/blog/5013/gli-array-in-php
|
||
|
// Ciclo l'array $result e inserisco il valore di ogni elemento in $value
|
||
|
foreach ($results as $value) {
|
||
|
|
||
|
//verifica se nel title dell'elemento dell'array è contenuto il valore che abbiamo inserito
|
||
|
if (strpos(strtoupper($value["title"]), strtoupper($inline_query_text)) !== false
|
||
|
or
|
||
|
strpos(strtoupper($value["description"]), strtoupper($inline_query_text)) !== false
|
||
|
or
|
||
|
strpos(strtoupper($value["message_text"]), strtoupper($inline_query_text)) !== false
|
||
|
) {
|
||
|
//se la nostra $inline_query_text è contenuta nel title del singolo elemento dell'array, allora inseriamo $value nel nostro nuovo array
|
||
|
array_push($resultfiltered, $value);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
//$results = json_encode($results);
|
||
|
$results = json_encode($resultfiltered);
|
||
|
|
||
|
// così ad occhio dovrebbe funzionare :)
|
||
|
// FINE MODIFICHE FRANCESCO
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
$content = array('inline_query_id' => $inline_query_id, "results" => $results);
|
||
|
$telegram->answerInlineQuery($content);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
if ($query != null && $query != '' || $query == '')
|
||
|
{
|
||
|
|
||
|
{
|
||
|
switch ($query)
|
||
|
{
|
||
|
case '':
|
||
|
$results = json_encode([['type' => 'article', 'id' => '1', 'title' => 'Istruzioni per usare il bot', 'message_text' => 'Usare il bot <b>LeAlternative</b> è semplicissimo. Taggalo in qualunque chat, ad esempio @LeAlternativeBot <i>testoricerca</i>', 'parse_mode' => 'HTML'], ['type' => 'article', 'id' => '2', 'title' => 'Manda in chat i modi per seguire LeAlternative', 'message_text' => "<b>LeAlternative</b> è un progetto ambizioso che vuole aiutare chiunque a trovare alternative etiche. È adatto a chiunque, non bisogna avere conoscenze tecniche e suggeriamo sempre e solo alternative alla portata di tutti.\n\n🌐 Sito <b>LeAlternative</b>: https://www.lealternative.net/\n📣 <b>Canale</b>: @LeAlternative\n💬 <b>Gruppo</b>: @LeAlternativeGruppoufficiale\n\nProva il nostro <b>bot</b>, scrivi @LeAlternativeBot <i>testodiricerca</i>",'parse_mode' => 'HTML','disable_web_page_preview' => true]]);
|
||
|
$content = ['inline_query_id' => $queryid, 'results' => $results, 'cache_time' => 1, 'is_personal' => 'true', 'next_offset' => '', ];
|
||
|
$reply = $telegram->answerInlineQuery($content);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
if ($text == '/start')
|
||
|
{
|
||
|
$content = array(
|
||
|
'chat_id' => $chat_id,
|
||
|
'text' => "
|
||
|
<b>Ciao,</b>\nquesto bot funziona in maniera differente! Prova a taggarlo all'interno di <b>qualunque chat di Telegram</b>. Ti basterà scrivere @LeAlternativeBot <i>testodiricerca</i> e vedrai apparire magicamente i risultati!\n\n📣 <b>Canale</b>: @LeAlternative\n💬 <b>Gruppo</b>: @LeAlternativeGruppoufficiale\n🤖 Codice sorgente di questo bot: <a href=\"https://www.lealternative.net\">Gitea.it</a>
|
||
|
",
|
||
|
'reply_markup' =>json_encode([
|
||
|
'inline_keyboard'=>[
|
||
|
[
|
||
|
['text'=>'Provami','switch_inline_query' => 'Alternative a '],
|
||
|
]
|
||
|
]]),
|
||
|
'parse_mode' => 'HTML',
|
||
|
'disable_web_page_preview' => true
|
||
|
);
|
||
|
$telegram->sendMessage($content);
|
||
|
}
|
||
|
?>
|