提问人:NotReaL 提问时间:11/16/2023 更新时间:11/16/2023 访问量:36
message.content.replace() 不替换字符串的 “ .removedir”
message.content.replace() not replacing the " .removedir" of the string
问:
我正在为 discord 机器人发出删除目录的命令。但是,我正在尝试获取用户传递的路径,然后将命令替换为空白,以便仅存在该路径。这显然不起作用,并且由于某种原因,它也不会发送带有结果的嵌入。
命令代码:
if message.content.startswith(".deletedir"):
await message.delete()
try:
os.rmdir(message.content.replace(".deletedir ", ""))
except Exception as e:
print(e)
embed = discord.Embed(title="Delete Directory", description="Failed to delete directory. Usage: ``.deletedir <FULL DIRECTORY PATH>``\nIf you want to delete files use the ``.delete`` command!", color=0x00ff00)
await message.channel.send(embed=embed)
return
embed = discord.Embed(title="Delete Directory",description=f"Directory {message.content.replace('.deletedir ', '')} deleted.", color=0x00ff00)
await message.channel.send(embed=embed)
我尝试将替换字符串保存到变量中,然后将其粘贴到 os.rmdir() 中,我也尝试在命令上使用 .split(“ ”)[1]。
答:
0赞
AKX
11/16/2023
#1
我会完全重构命令解析:
if message.content.startswith("."):
command, rest = message.content[1:].split(None, 1)
if command == "deletedir":
try:
os.rmdir(rest)
except Exception as e:
...
elif command == "something-else":
...
评论
message.content.replace(".deletedir ", "")