我用Python构建了一个Telegram机器人,并部署在Heroku上。
应用程序通过webhook与Telegram交互,然后等待控制台输入,以便执行其他命令。
应用程序工作正常,但我不知道如何发送使 input 命令接收文本,一旦应用程序部署在Heroku上
这是脚本的主要功能:
import os
import telegram
from telegram.ext import CallbackContext
from telegram.ext import MessageHandler, Filters
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, KeyboardButton, ReplyKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
PORT = os.environ.get('PORT', 8443)
token = 'MY-TOKEN'
updater = Updater(token=token, use_context=True)
dispatcher = updater.dispatcher
def start_func(update: Update, context: CallbackContext):
...do something when /start is received ...
def message_func(update: Update, context: CallbackContext):
...do something when message is received ...
dispatcher.add_handler(MessageHandler(Filters.text & (~Filters.command), message_func))
dispatcher.add_handler(CommandHandler('start', start_func))
updater.start_webhook(listen="0.0.0.0",
port=int(PORT),
url_path=test_token,
webhook_url=f'https://{appname}.herokuapp.com/{test_token}')
while (True):
print("Enter a command: ")
command = input()
if command == "test":
.... do something ...
2条答案
按热度按时间zzoitvuj1#
很遗憾,在Heroku里你不能直接辩论。
但是,这里有一些方法/黑客你可以实现你的目标.
我强烈建议您创建一个网络 Jmeter 板与令牌系统,这似乎非常有效和安全!
wlzqhblo2#
你可以在任何地方试试pythonwhere,它在那里工作正常