Wie akzeptiere ich eine Zeichenfolge als Argument? (discord.py umschreiben)

Dec 17 2020

Es wird versucht, einen Befehl discord.py zu erstellen, der eine Zeichenfolge als Argument akzeptiert. Wie akzeptiere ich eine Zeichenfolge aus einer Discord-Nachricht (wenn Sie jedoch sagen könnten, wie man Boolesche Werte und Ganzzahlen erstellt, wäre dies hilfreich) als Argument? Ich versuchte mein bestes Duck-Fu ohne Erfolg.

Importe

os
discord
json
requests
python-dotenv
pymediawiki

Beispielcode

#Existing bot

@bot.command()
async def combinestring(ctx):
#argument should be called arg

#process string
   

(Es macht mir nichts aus, wenn nötig mehr hinzuzufügen.)

Antworten

1 ŁukaszKwieciński Dec 17 2020 at 16:28

Es ist buchstäblich das erste, was beim Lesen der Einführung zu Befehlen erscheint. Hier ist der Link

Auch hier ist ein Beispiel

@bot.command()
async def foo(ctx, arg):
    await ctx.send(arg)

# To invoke
# !foo hello
# >>> hello
JoaquimEsteves Dec 17 2020 at 15:41

Haben Sie sich andere Fragen zum Abrufen von Nachrichten vom Discord-Bot angesehen?

  • https://stackoverflow.com/a/61851683/6595024
  • https://stackoverflow.com/a/49127887/6595024

Bearbeiten: Aktualisierte Antwort bei Aktualisierung der Frage

iamthetrueyes Dec 20 2020 at 17:49

Es ist ziemlich einfach, wenn Sie ein Argument ohne Leerzeichen nehmen möchten,

@bot.command()
async def combinestring(ctx, arg: str):
    #your code

Wenn Sie ein Argument mit Leerzeichen führen möchten,

@bot.command()
async def combinestring(ctx, *, arg):
    #your code

Getan.