0
votes

Héberger un BOT utilisateur Telethon sur google-app-engine

J'essaie de déployer un robot utilisateur simple sur l'environnement flexible Google App Engine exécutant python3.7, mais j'obtiens l'erreur suivante. Quelqu'un peut-il m'aider avec des suggestions pour résoudre ce problème?

"File" /env/lib/python3.7/site-packages/telethon/client/auth.py ", ligne 20, dans le téléphone: typing.Callable [[], str] = lambda: input ('Veuillez entrer votre téléphone (ou token bot): '), EOFError: EOF lors de la lecture d'une ligne "

Merci pour votre temps


1 commentaires

Il semble que votre client demande une entrée, ce qui ne fonctionnera pas une fois déployé sur AppEngine. Pouvez-vous fournir le numéro de téléphone ou le jeton d'une autre manière?


3 Réponses :


0
votes

Téléthon (évidemment) vous oblige à vous connecter et à faire une session utilisateur normale sur votre compte, ce qui vous oblige nativement à saisir votre numéro lorsque vous y êtes invité et à saisir le code reçu, mais comme le moteur Google App ne permet pas de saisir comme @Sashidhar mentionné, en fonction de votre implémentation userbot, vous pouvez essayer d'utiliser la méthode d'authentification userbot.session, elle peut être générée localement et placée dans Google App Engine.


0 commentaires

0
votes

J'essaie d'utiliser python sur le moteur d'application pour appeler les fonctions de téléthon, lors du déploiement de l'application. Je reçois l'erreur de serveur interne du navigateur.

Je vois que vous avez du succès sur cette route, pourriez-vous éclairer cela pour m'aider à démarrer, par exemple comment configurer l'application.yaml, main.py, requirements.txt, .... ou tout arrangement approprié des bibliothèques pour faire ce travail.

merci beaucoup d'avance.

Voici mon main.py qui a soulevé une erreur interne du serveur sur les navigateurs, le problème ne se produit pas si cette première ligne liée au téléthon est remarquée:

client = TelegramClient (téléphone, api_id, api_hash)

main.py
--------
from flask import Flask, request
import datetime
import time
import asyncio

from telethon import  TelegramClient, events, sync

app = Flask(__name__)

api_id = xxxxxxxx
api_hash = 'xxxxxxxxxxxxxxxxxxxxxxxx'
phone = '+xxxxxxxxxxxx'

@app.route('/', methods=['GET'])
def hello():
    reqaction = request.args.get('action', 'connect')
    client = TelegramClient(phone, api_id, api_hash) 

if __name__ == '__main__':
    app.run(host='localhost', port=8080, debug=True)

ça vous dérangerait de faire la lumière là-dessus pour m'aider à démarrer, merci beaucoup


1 commentaires

ps: J'ai déjà utilisé un autre connect.py excuté via la console GAE (pas une application déployée) pour me connecter avec succès à tg, et le fichier de session est donc stocké et disponible pour le main.py ci-dessus, mais je ne peux tout simplement pas déployer un appel d'application et utiliser les fonctions telehon telles que TelegramClient (phone, api_id, api_hash)



0
votes

Je suis maintenant en mesure d'héberger mon utilisateur BOT sur GAE en utilisant la méthode de connexion par chaîne de session.

https://docs.telethon.dev/en/latest/concepts/sessions.html#string-sessions


0 commentaires