Merge pull request #8 from yshtcn/Test

2023.9.8.1
This commit is contained in:
yshtcn 2023-09-08 12:08:34 +08:00 committed by GitHub
commit 5b31b3a6b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 76 additions and 10 deletions

6
.gitignore vendored
View File

@ -1,3 +1,9 @@
received_requests_*
received_data_*
sent_data_*
bot_config.json
pending_messages.json
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

6
Post_Test.bat Normal file
View File

@ -0,0 +1,6 @@
title 测试post
:start
@cd /d %~dp0
py Post_Test.py
pause
goto start

31
Post_Test.py Normal file
View File

@ -0,0 +1,31 @@
import requests
def send_post_request():
url = "http://localhost:5000" # 请替换为实际API端点
# 构建表单数据
payload = {
"bot_id": "",
"chat_id": "",
"title": "Test Title",
"desp": "Test Description---Test Description",
"url": "https://example.com"
}
# 发送POST请求
response = requests.post(url, data=payload)
# 输出状态码
print(f"Status Code: {response.status_code}")
# 输出响应文本
print(f"Response Text: {response.text}")
# 在尝试解析JSON之前先检查响应是否包含JSON
try:
print(f"Response Data: {response.json()}")
except:
print("Failed to parse JSON from response.")
if __name__ == "__main__":
send_post_request()

View File

@ -83,6 +83,7 @@ def send_telegram_message(bot_id, chat_id, title, desp=None, url=None):
all_bots_config = load_config()
# 用于标记是否找到匹配的关键词
found = False
delimiter = None
# 遍历所有主 bot_id 的配置
for config in all_bots_config:
main_bot_id = config['main_bot_id']
@ -97,15 +98,17 @@ def send_telegram_message(bot_id, chat_id, title, desp=None, url=None):
title_decode = title.decode('utf-8') if isinstance(title, bytes) else title
if keyword_decode.lower() in title_decode.lower():
bot_id = sub_bot['bot_id']
chat_id = sub_bot['chat_id'] # 新增:替换 chat_id
chat_id = sub_bot['chat_id'] # 替换 chat_id
delimiter = sub_bot.get('delimiter') # 获取隔断符配置
found = True
break
if found:
break
# 一旦找到匹配的主 bot_id 和主 chat_id就跳出循环
if found:
break
break
# 一旦找到匹配的主 bot_id 和主 chat_id就跳出循环
if found:
break
api_url = f"https://api.telegram.org/bot{bot_id}/sendMessage"
@ -115,8 +118,8 @@ def send_telegram_message(bot_id, chat_id, title, desp=None, url=None):
}
text = title # 初始化 text 为 title
if desp: # 如果有 desp添加到 text
text += f"\n\n{desp}"
text += f"\n\n{(desp.split(delimiter)[0] if delimiter and desp else desp) if desp else ''}"
# 使用正则表达式来识别受影响的链接
@ -128,7 +131,7 @@ def send_telegram_message(bot_id, chat_id, title, desp=None, url=None):
text = text.replace(affected_url, corrected_url)
if url: # 如果有 url添加到 text
text += f"\n\n<a href=\"{url}\">详情:</a>"
text += f"\n\n[详情]({url})"
text += f"{url}" # 直接添加 URLTelegram 会自动处理预览
text=unescape_url(text)
@ -137,7 +140,7 @@ def send_telegram_message(bot_id, chat_id, title, desp=None, url=None):
payload = {
'chat_id': chat_id,
'text': text,
'parse_mode': 'HTML',
'parse_mode': 'markdown',
'disable_web_page_preview': False # 启用网页预览
}
try:

20
bot_config_example.json Normal file
View File

@ -0,0 +1,20 @@
[
{
"main_bot_id": "YOUR_MAIN_BOT_ID_HERE",
"main_chat_id": "YOUR_MAIN_CHAT_ID_HERE",
"sub_bots": [
{
"bot_id": "YOUR_SUB_BOT_ID_1",
"chat_id": "YOUR_SUB_CHAT_ID_1",
"keywords": ["test"],
"delimiter": "---split---"
},
{
"bot_id": "YOUR_SUB_BOT_ID_2",
"chat_id": "YOUR_SUB_CHAT_ID_2",
"keywords": ["keyword3", "keyword4"]
}
]
}
]