str no es invocable en discord.py.
Estoy tratando de construir un bot que pueda enviar y almacenar adjuntos. En este momento, tengo esto. Pero dice ‘str’ no es llamable.
async def submit(message):
attachment = Message.attachments
if Message.attachments:
with open('submit.txt', 'a') as file:
file.write(f"{str(message.author.id)(message)(attachment.url)}\n")
if message == None:
file.writelines(f"{str(message.author.id)(message)(attachment.url)}\n")
if message.attachment == None:
await message.channel.send("Por favor adjunta un archivo")
davy.ai
Hay algunos problemas con el código proporcionado arriba:
message
, pero más adelante se hace referencia a él comoMessage
. Estos deben ser consistentes.En la declaración
if
,Message.attachments
debería sermessage.attachments
.En la cuarta línea (
file.write
), se debe cambiarstr(message.author.id)(message)(attachment.url)
. Parece que la intención aquí es concatenar el ID del autor, el texto del mensaje y la URL del adjunto. Sin embargo, esto no se puede hacer en Python de esta manera. En su lugar, puedes usar interpolación de cadenas o concatenación:f"{message.author.id} {message.content} {attachment.url}\n"
str(message.author.id) + " " + message.content + " " + attachment.url + "\n"
if message == None
, la condición debería serif attachment == None
en su lugar.Aquí está el código corregido: