/TGUserbot

Base MadelineProto per creare userbot

Primary LanguagePHPGNU Affero General Public License v3.0AGPL-3.0

TGUserbot

TGUserbot account manager TGUserbot account manager TGUserbot

Index

Perchè usare TGUserbot

Installazione

Automatica (Solo Ubuntu)

curl https://peppelg.github.io/tguserbot_installer.sh | sudo bash
cd TGUserbot

Manuale: Installa i pacchetti git zip screen php php-mbstring php-xml php-gmp php-curl php-bcmath php-zip php-json php-cli

git clone https://github.com/peppelg/TGUserbot
cd TGUserbot && rm -rf src
./TGUserbot.phar

Passare da TGUserbotV3 a TGUserbotV4

Avvio

./TGUserbot.phar

Avvio in background:

./TGUserbot.phar --background

Aggiornare Madeline

Rimuovi il file madeline.phar e riavvia TGUserbot.

🌟 TGUserbot.phar sarà aggiornato automaticamente.

Multi account

Carica una sessione: ./TGUserbot.phar --session="nomesessione"

Carica una sessione in background: ./TGUserbot.phar --session="nomesessione" --background

🔥 Gestisci account: ./TGUserbot.phar accounts

Creare backup delle sessioni

🔥 ./TGUserbot.phar backup

Backup

Verrà creato un nuovo file contenente tutte le sessioni.

Come non fare bloccare il tuo bot

Se hai un bot pesante, che perde molto tempo per fare delle azioni (es. eliminare una grossa quantità di messaggi), è consigliato renderlo asincrono, hai due opzioni:

  • Usare MadelinePromise (consigliato, è più veloce ed occupa meno risorse)
  • Abilitare il multithread nelle impostazioni (sconsigliato, è più lento e occupa più risorse)

🌟 Per rendere il tuo bot più veloce disabilita delle impostazioni le funzioni che non usi.

Usare MadelineCli

Abilita cli nelle impostazioni.

Scrivi nel terminale namespace.metodo <parametri in json

Esempio: messages.sendMessage {"peer": "@peppelg", "message": "ciao"}

Esempio

Promise

Abilita madelinePromise nelle impostazioni.

Esempio:

$MadelineProto->messages->sendMessage(['chat_id' => $chatID, 'message' => 'Messaggio'], function($response) use($MadelineProto, $chatID) {
  //fai qualcosa dopo aver inviato il messaggio
});

Trovi un esempio , in bot.php.

MadelinePromise è asincrono, quindi non bloccherà tutto TGUserbot.

Impostazioni

Impostazioni in settings.php

bot_file - imposta la path del file bot.php
madelinephar - file da includere per usare madeline (con valore default userà MadelineProtoPharProfessional, per usare l'ultima versione di MadelineProto puoi scaricare madeline.php ed impostare madeline.php come valore di madelinephar,.,)
language - imposta la lingua
cronjobs - attivare i cronjob?
send_errors - invia errori in chat
readmsg - legge i messaggi in chat privata
always_online - mantiene lo stato in linea
auto_reboot - se TGUserbot crasha si riavvia automaticamente
multithread - abilita multithread
send_data - aiuta a migliorare TGUserbot inviando alcuni dati (https://tguserbot.peppelg.space/privacy.txt)
cli - usa madelinecli
madelinePromise - usa promise
proxy - vedi https://github.com/peppelg/TGUserbot#proxy
madeline - impostazioni di madeline

Variabili e funzioni

Variabili

$update - update ricevuto
$msg - messaggio
$chatID - id della chat
$userID - id utente
$msgid - id del messaggio
$type - user, bot, group, supergroup, channel
$name - nome dell'utente
$username - username dell'utente
$title - titolo della chat
$chatusername - username della chat
$cronjob - id cronjob
$me - informazioni sull'utente

Funzioni in functions.php

sm(Chat, Message, Reply, ParseMode);

Metodi MadelineProto

Proxy

  1. Proxy automatico: TGUserbot otterrà automaticamente un proxy e lo userà, aggiungi in settings.php 'proxy' => 'auto'
  2. Manuale: Aggiungi in settings.php proxy => ['type' => 'socks5', 'ip' => 'ip del proxy', 'port' => 'porta del proxy', 'username' => 'username proxy', 'password' => 'password proxy']. Per i proxy http sostituisci socks5 con http. Puoi omettere username e password.

Cronjobs

Crea un nuovo cronjob (tra un minuto):

$cron->add('next minute', 'cronjobid');
//oppure
$cron->add(time()+60, 'cronjobid');

Cancella un cronjob:

$cron->delete('cronjobid');

Cancella tutti i cronjob:

$cron->delete();

Quando sarà il momento, verrà dichiarata la variabile $cronjob, potrai gestire tutto da bot.php.

Esempio (bot.php):

if ($msg == 'Invia tra un minuto un messaggio a 🅱️eppe') {
  $cron->add('next minute', 'messaggio a peppe');
  sm($chatID, 'Ok! Tra un minuto invierò un messaggio a Peppe');
}
if ($cronjob == 'messaggio a peppe') {
  sm('@peppelg1', 'Zao, kome stai¿¿');
}

⚠️ I secondi non verrano considerati

Plugin

Per installare un plugin crea una cartella chiamata plugins e metti dentro i plugin. Facile eh?

Scarica un plugin di esempio

Creare un bot (non userbot) con TGUserbot

Avvia ./TGuserbot.phar, vai su Aggiungi account e scrivi il nome della sessione. Quando TGUserbot chiederà il numero di telefono, scrivi bot e poi il token del bot.

Supporto

Canale Telegram di TGUserbot

Gruppo Telegram di TGUserbot

Gruppo Telegram di peppelg

Gruppo Telegram di MadelineProto

Gruppo Telegram di MadelineProto inglese

Metodi MadelineProto