我的程序使用请求模块自动发送和删除消息,只有两个函数,即 sem() 和 dem(),程序在我自己的 PC 上运行良好,即使在我转换它之后,但是一旦我的朋友运行了可执行文件在她自己的电脑上,那就是 dem() 停止工作的时候。
from pathlib import Path
import requests
import json
from operator import itemgetter
import time
count = 0
txt = Path(__file__).parent / "token.txt"
txt1 = Path(__file__).parent / "channel.txt"
txt2 = Path(__file__).parent / "message.txt"
txt3 = Path(__file__).parent / "timer.txt"
token = txt.read_text()
channel = txt1.read_text()
message = txt2.read_text()
timer = txt3.read_text()
payload = {
"authorization": token
}
jsondata = {
"content": message
}
ids = []
def sem():
requests.post(url=f"https://discord.com/api/v9/channels/{channel}/messages", headers=payload, json=jsondata)
def dem(message_id):
requests.delete(url=f"https://discord.com/api/v9/channels/{channel}/messages/{message_id}", headers=payload)
del(ids[-1])
evaluate()
def evaluate():
global r
global i
r = requests.get(url=f"https://discord.com/api/v9/channels/{channel}/messages", headers=payload)
i = list(json.loads(r.text))
i.sort(key=itemgetter("timestamp"))
for value in i:
if value['author']['username'] == "username":
ids.clear()
ids.append(value['id'])
evaluate()
while True:
time.sleep(int(timer))
sem()
evaluate()
dem(ids[-1])
count += 1
print("Count: "+str(count))
我的程序不仅仅是一个可执行文件,它应该有多个可执行文件,目前我只有2个程序,一个是自动消息发送器,另一个是手动消息发送器,这些程序不会相互交互总而言之,重点是使用一个文件夹来存放 2 个可执行文件。
这是我转换程序的方法
通过 Whatsapp 传输可执行文件,所以这也可能是一个问题,在我的朋友下载并使用它后,它出现了问题。
我的脚本无法在朋友的电脑上运行的原因是,evaluate() 函数正在过滤从 request.get 接收到的特定用户名信息,当我在我的帐户中运行它时,它有我的不和谐用户名,但因为它可以转换后不能更改 dem() 找不到旧用户名的 ID,朋友也无法在自己的不和谐帐户上使用它。
脚本的解决方案是让“用户名”可更改