Python 上的 Telegram Bot 最好的云服务是什么?

问题描述 投票:0回答:1

在考虑 Google Cloud Platform 时,选择 Google Cloud VM、App Engine、Cloud Run 或 Dialogflow 哪个更好? 究竟如何做到这一点,部署过程是什么(如果可能),一步一步? 另外,轮询和 Webhook 哪个更好,您推荐使用哪些库?

例如,如果我们考虑以下代码:

import telebot
import google.generativeai as genai
bot = telebot.TeleBot("API KEY", parse_mode=None) # You can set parse_mode by default. HTML or MARKDOWN
genai.configure(api_key="API KEY")

# Set up the model
generation_config = {
  "temperature": 0.9,
  "top_p": 1,
  "top_k": 1,
  "max_output_tokens": 2048,
}

safety_settings = [
  {
    "category": "HARM_CATEGORY_HARASSMENT",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
  {
    "category": "HARM_CATEGORY_HATE_SPEECH",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
  {
    "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
  {
    "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
    "threshold": "BLOCK_MEDIUM_AND_ABOVE"
  },
]

model = genai.GenerativeModel(model_name="gemini-1.0-pro",
                              generation_config=generation_config,
                              safety_settings=safety_settings)

convo = model.start_chat(history=[
  {
    "role": "user",
    "parts": ["Привіт!"]
  },
  {
    "role": "model",
    "parts": ["Привіт, чим можу допомогти?"]
  },
])

@bot.message_handler(func=lambda m: True)
def echo_all(message):
    convo.send_message(message.text)
    response = (convo.last.text)
    bot.send_message(message.chat.id, response)
      
if __name__ == '__main__':
    bot.infinity_polling()

谢谢!

python google-cloud-platform telegram-bot telegram-webhook
1个回答
0
投票

从基础设施角度来看,在 Cloud Run 或 Cloud Functions 上构建 Telegram 机器人项目。 对于多个微服务之间的通信,您可以使用 Pub/Sub 或 HTTP 请求。 对于某些静态内容,请使用 Google Cloud Storage。 您可以使用 Terraform 等 IaC 工具构建基础设施,但我强烈建议您从 Google Console 开始,一段时间后将基础设施移至 Terraform。它将在项目开始时显着提高您的生产力。

我还发现了一篇文章,介绍了 GCP 上的 Telegram 机器人架构,因此您可以将其用作项目的起点。

© www.soinside.com 2019 - 2024. All rights reserved.