Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
160 - Telegram Web
Telegram Web
Click the button below.
On Telegram desktop and Android (not TelegramX), the button will open a link without notifying the user
Aggiornamento Turibot

Per aggiornare vi basterà sovrascrivere tutti i file, fate attenzione ad editare corretamente commands.php

Il bot è stato completamente aggiornato alle Bot API 4.0

Aggiunto config.php che sarà da settare con il proprio ID e lo Username del bot in minuscolo.

Aggiunta la funzione command() per semplificare l'uso dei comandi, troverete un esempio in commands.php

Aggiunta la funzione debug() che vi permetterà di vedere il risultato di print_r() direttamente in chat

Aggiunta la funzione getWebhookInfoApi() per poter fare getWebhookInfo anche di altri Token

Spostati/Aggiunti alcuni parametri delle seguenti funzioni:
sendAudio, sendDocument, sendVideo, sendVideoNote, sendContact, sendVenue, sendInvoice

Indentato secondo lo standard PSR1/PSR2

Miglioramenti vari

https://github.com/davtur19/TuriBot
Debuggare Bot Telegram in modo semplice

Debuggare bot telegram può essere molto ostico non potendo leggere valori stampati in pagina da var_dump() o simili a meno che non si simulino le richieste delle Bot API.
Mentre si prova a mandare la variabile in chat spesso può capitare di superare il limite di 4096 char (limite di sendMessage)
Per questo ho deciso di fare una funzione per semplificare il tutto.

Descrizione:
bool debug ( mixed $expression [, mixed $... ] )
Se esiste $chat_id manda il messaggio in quella chat, altrimenti lo manda al id settato alla costante MYID

Parametri:
expression
= La variabile che vuoi dumpare

Valori restituiti:
Sempre true

Esempi:
debug(true, $var, 123, $update);


Funzione:
function debug()
{
global $chat_id;

$args = func_get_args();

if (!isset($chat_id) or $chat_id == 0 or $chat_id == '') {
$id = MYID;
} else {
$id = $chat_id;
}

foreach ($args as $debug) {
$str = var_export($debug, true);
$array_str = str_split($str, 4050);

foreach ($array_str as $value) {
sendMessage($id, 'Debug:' . PHP_EOL . $value);
}
}

return true;
}


Come adattarla per altri framework:
- Sostituire tutti i $chat_id con i chat_id.
- Sostituire sendMessage(chat_id, text) con la vostra sendmessage, ed eventualmente aggiustare l'ordine dei parametri.
- Settare o sostituire MYID con il vostro id.
Channel name was changed to «Turi Code»
Consigli per rendere sicuri bot con webhook:

+ Disattivare l'indexing delle directory e dei file sul webserver.

+ Accettare solo richieste dal range di ip delle bot api 149.154.167.197-233 per evitare fake request.
Fonte: https://core.telegram.org/bots/webhooks

+ Il nome della directory del bot deve essere difficile da trovare. Per esempio non nominarla come il nome del bot.

+ Bloccare i "cloni", ovvero non permettere di settare al vostro webhook altri token. Molto utile in caso di callback data non verificati.
Per esempio se ricevete il token dal update di Telegram (vedi sotto) vi basterebbe fare un check dei numeri prima di ":" siccome è l'id del bot.

+ A seconda di dove hostate potrebbe esservi utile non salvare il token nel file in caso di perdita del source, delle alternative possono essere:

- Usare una variabile d'ambiente.
- Richiesta GET con il token proveniente dal update di Telegram.
Per esempio: https://api.telegram.org/TOKEN/setWebhook?url=https://esempio/index.php?api=TOKEN
Ho recentemente scoperto grazie a @Parsec82 che si possono mandare file tramite bot usando i link dei canali pubblici anzichè usare il file id.
@TuriBot è tornato online per tutti dopo tanto tempo.
È stata fatta una riscrittura completa del codice migliorando performance, mantenibilità e sicurezza ma sopratutto nuovi comandi per fare acing.
Sfortunatamente la riscriturra del codice ha portato l'eliminazione di alcuni comandi obsoleti e inutili.
Ho aperto il gruppo per @pappaprontaml dopo tanto tempo finalmente è pronta una primissima versione di test del app.
Per chiunque sia interessato entri pure nel gruppo per testare l'app, segnalare bug e esprimere qualche critica costruttiva per poterla migliorare (si spera) in futuro.
@DeepLink: In questo mio canale potete trovare molti link con i parametri utilizzati Telegram; tra cui i più banali come joinchat- addstickers/ e alcuni più nascosti come i vari tg://domain tg://resolve ecc...

Non è una lista completa molto probabilmente

La maggior parte li ho trovati qua
Trovati questi nuovi update/metodi nella beta di Telegram 5.0 per Android

Probabilmente le chiamate di gruppo e gli scheduled message arriveranno presto!

groupCall
groupCallPrivate
groupCallDiscarded
groupCallParticipantInvited
groupCallParticipantLeft
groupCallParticipantAdmin
groupCallParticipant
updateDeleteScheduledMessages
updateNewScheduledMessage
updateGroupCall
updateGroupCallParticipant
Per chi rivolesse i vecchi temi di Telegram per Android, siccome dalla 5.2 li hanno sostituiti con quelli di Telegram X
Consiglio a tutti i possessori di gruppi pubblici o importanti di disattivare l'invio dei sondaggi siccome le Bot API non sono ancora in grado di mandare l'update ai bot.
Così facendo potrete evitare storm di sondaggi che i bot di protezione non vedono ancora.
Si possono mandare richieste alle Bot API senza bisogno di specificare il metodo nel URL ma semplicemente mandandole con POST in RAW con l'header "Content-Type: application/json", come per il json payload, bisognerà specificare il metodo nel json; ringrazio @V1rus_Falcon per la scoperta di questa cosa non documentata.
Inoltre dopo qualche test ho scoperto che è possibile fare lo stesso mandando i parametri con una richiesta POST normale.
Oggi voglio parlarvi dei DC e dei Bot AntiVoIP, e fare chiarezza su questo argomento.

Prima di tutto una rapida spiegazione per chi non sapesse cosa siano:
- DC è l'abbreviazione per Data Center, non sono altro che degli edifici contenenti diversi tipi di server.
- Telegram ha 5 Data Center, il DC1 è situato in America mentre il DC4 è in Europa.
- I Bot AntiVoIP controllano il DC di un utente che entra in un gruppo, spesso sono settati per bannare a vista i DC1.

Spesso le convinzioni degli utenti e dei Bot AntiVoIP sono queste:
- Tutti i VoIP sono DC1 e non possono essere DC4.
- I VoIP sono dannosi per il gruppo.
- Il DC viene assegnato in base al prefisso.

Le convinzioni degli utenti non sono del tutto sbagliate, infatti spesso succede che i DC1 siano VoIP ma non è sempre così, inoltre non basta qualche test per dire che tutti i VoIP sono del DC1 e non possono essere del DC4, per esserne certi al 100% bisognerebbe averne la certezza da Telegram.

Mettiamo caso facessimo 1000 test per controllare che alla registrazione tutti i +1 vadano sul DC1 e tutti i +39 vadano su DC4.
Se tutti i test andassero a buon fine, comunque non significa che tutti i +39 siano DC4, e lo stesso per i +1, prendiamo questi casi:
- Se alla registrazione di un +39 il DC4 sia offline cosa succede? Telegram potrebbe benissimo metterti sul un altro DC o non farti registrare.
- Telegram ti potrebbe spostare di DC, per esempio se cambi residenza e vai a vivere in America ti potrebbe spostare sul DC1 dopo svariati mesi.
- Un utente cambiando numero di telefono non cambia DC.

Ci sono tanti utenti DC1 che attualmente hanno un +39 e vengono bannati dai gruppi senza nessun reale motivo, e chi invece vuole dar fastidio con un VoIP semplicemente spende pochi centesimi in più per prendersi un VoIP Europeo. (E non è l'unico modo per bypassare i controlli)

Quindi tutto ciò non risolve nulla, siccome ci possono essere VoIP/DC1 non dannosi per il gruppo e VoIP dannosi per il gruppo che bypassano i controlli.

Io personalmente consiglio di non usare ban automatici ma di far verificare a un admin se l'utente è davvero dannoso, e usare il fatto che sia DC1 solo come indizio di un possibile VoIP, non certezza.
2025/06/27 18:13:13
Back to Top
HTML Embed Code: