Jak zaakceptować ciąg jako argument? (discord.py przepisać)

Dec 17 2020

Próba utworzenia polecenia discord.py, które akceptuje łańcuch jako argument. Jak zaakceptować ciąg z wiadomości Discord (chociaż gdybyś mógł powiedzieć, jak robić wartości logiczne i liczby całkowite, byłoby to pomocne) jako argument? Spróbowałem na nim jak najlepiej Duck-fu bez skutku.

Import

os
discord
json
requests
python-dotenv
pymediawiki

Przykładowy kod

#Existing bot

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

#process string
   

(Nie mam nic przeciwko dodaniu więcej, jeśli zajdzie taka potrzeba.)

Odpowiedzi

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

To dosłownie pierwsza rzecz, która pojawia się podczas czytania wprowadzenia do poleceń, oto link

Oto przykład

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

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

Czy spojrzałeś na inne pytania dotyczące pobierania wiadomości od bota Discorda?

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

edycja: zaktualizowana odpowiedź podana aktualizacja na pytanie

iamthetrueyes Dec 20 2020 at 17:49

To całkiem proste Jeśli chcesz wziąć argument bez spacji,

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

Jeśli chcesz wziąć argument ze spacjami,

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

Gotowy.