Automatisches Anmelden beim Telegram-Client mit Telethon (Python)Python

Python-Programme
Anonymous
 Automatisches Anmelden beim Telegram-Client mit Telethon (Python)

Post by Anonymous »

Ich versuche, einen Telegram-Bot zu programmieren, der mithilfe der Telethon-Bibliothek auf den Telegram-Client zugreift.
Im folgenden Code funktioniert alles ordnungsgemäß, aber wenn der Code ausgeführt wird, wird die Telegram-Authentifizierungsprozedur über das Terminal ausgeführt.
Gibt es eine Möglichkeit, den Prozess zu automatisieren, sodass ich mich mit Python beim Client anmelden kann (ohne das Terminal eingeben zu müssen)?
Die Authentifizierungsprozedur verlangt Folgendes:
  • Telefonnummer
  • Passwort
  • Sicherheitscode
Was ich erreichen möchte, ist, dass, wenn der Benutzer einen bestimmten Befehl aufruft, der Bot den Client-Anmeldevorgang initiiert und den Benutzer auffordert, das Passwort und den Sicherheitscode einzugeben, die er dann verwendet, um sich beim Client anzumelden. Der Bot würde die Python-Telegram-Bot-Bibliothek verwenden, um die Konversation mit dem Benutzer zu verwalten, während er die Telethon-Bibliothek verwenden würde, um eine Verbindung zum Client herzustellen.
Ist das überhaupt möglich?
Vielen Dank
Hier ist die Hauptdatei: (ein funktionierendes Testbeispiel, bei dem versucht wird, sich bei einem Telethon Telegram-Client anzumelden, während man Python-Telegram-Bot verwendet)

Code: Select all

from telethon import TelegramClient
from karim.secrets import secrets
import asyncio

# this def gets called when the /telethon command is sent by the user to the bot
def telethonMessage(update, context):
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
api_id = secrets.get_var('API_ID')
api_hash = secrets.get_var('API_HASH')
client = TelegramClient('anon', api_id, api_hash, loop=loop)
with client:
loop.run_until_complete(send_telethon_message(client, update.effective_user.id))

async def send_telethon_message(client, user_id):
me = await client.get_me()
print('TELETHON: {}', me.username)
await client.send_message(user_id, 'Testing Telethon')
Mit dem oben genannten Code erhalte ich im Terminal die folgende Prozedur:
  • Bitte geben Sie Ihr Telefon (oder Bot-Token) ein:
  • Bitte geben Sie den Code ein, den Sie erhalten haben:
  • Bitte geben Sie Ihr Passwort ein:

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post