You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中向Telegram Bot接口传递字符串变量?

解决方案

没问题,我来帮你调整代码,同时还能优化一下现有逻辑:

首先,你当前处理coindelta接口响应的代码有点冗余——response1.text本身就是完整的字符串,完全不需要循环逐个字符拼接,直接赋值给str1就行。

然后,发送Telegram消息时,不建议直接把str1拼在URL里,因为如果str1包含特殊字符(比如空格、&、=这类),会导致URL解析错误,消息发送失败。推荐用requests.get的params参数来传递参数,requests会自动帮我们处理URL编码,更安全可靠。

修改后的完整代码如下:

import requests

# 从coindelta接口获取数据
response1 = requests.get('https://coindelta.com/api/v1/public/getticker/')
# 直接获取响应文本,无需多余的拼接操作
str1 = response1.text

# 发送消息到Telegram Bot,用params参数传递请求参数
telegram_api_url = 'https://api.telegram.org/botXXXXtokenXXXX/sendMessage'
request_params = {
    'chat_id': 'XXXXXXXX',
    'text': str1
}
r = requests.get(telegram_api_url, params=request_params)

额外优化建议(可选)

如果coindelta返回的是JSON格式数据,你可以把它转换成更易读的格式化文本再发送,比如:

# 将JSON响应转换成带缩进的友好格式文本
data = response1.json()
str1 = requests.utils.dumps(data, indent=2)

这样发送到Telegram的消息会更整齐,方便查看。

内容的提问来源于stack exchange,提问作者sanghmitra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:38:21