gpt4 book ai didi

json - 在没有服务器的情况下设置 Telegram 机器人

转载 作者:行者123 更新时间:2023-12-01 10:39:59 29 4
gpt4 key购买 nike

我不精通网络技术,想知道是否有办法 - 一个想法是使用 setWebhook - 制作 telegram bot做一些简单的事情(比如在有人发送消息时一遍又一遍地重复相同的消息)无需设置服务器 .

我认为可能没有办法解决它,因为我需要解析 JSON 对象以获得 chat_id 才能发送消息......但我希望这里有人可能知道一种方法。

例如

https://api.telegram.org/bot<token>/setWebHook?url=https://api.telegram.org/bot<token>/sendMessage?text=Hello%26chat_id=<somehow get the chat_id>

我已经使用硬编码的聊天 ID 对其进行了测试,并且可以正常工作……但当然,无论从何处收到消息,它都只会向同一个聊天发送消息。

最佳答案

这是一个非常简单的 Python bot 示例,您可以在 PC 上运行它,无需服务器。

import requests
import json
from time import sleep

# This will mark the last update we've checked
last_update = 0
# Here, insert the token BotFather gave you for your bot.
token = 'YOUR_TOKEN_HERE'
# This is the url for communicating with your bot
url = 'https://api.telegram.org/bot%s/' % token

# We want to keep checking for updates. So this must be a never ending loop
while True:
# My chat is up and running, I need to maintain it! Get me all chat updates
get_updates = json.loads(requests.get(url + 'getUpdates').content)
# Ok, I've got 'em. Let's iterate through each one
for update in get_updates['result']:
# First make sure I haven't read this update yet
if last_update < update['update_id']:
last_update = update['update_id']
# I've got a new update. Let's see what it is.
if 'message' in update:
# It's a message! Let's send it back :D
requests.get(url + 'sendMessage', params=dict(chat_id=update['message']['chat']['id'], text=update['message']['text']))
# Let's wait a few seconds for new updates
sleep(3)

Source

Bot I'm working on

关于json - 在没有服务器的情况下设置 Telegram 机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31073962/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com