非常に基本的な問題私は確かです、私はボットのステータスを変更するためのステータスコマンドを設定しようとしています。次のコードは動作します:split()with maxsplitの問題
@myBot.event
async def on_message(message):
if message.content.startswith('!status'):
m = message.content.split(' ')
await myBot.change_presence(game=discord.Game(name=m[1]))
だから、何が本当にここに複雑ません、それは私が!status
後に入力するものは何でもボットのステータスを設定します。
を除いたm[1]
があるため、最初のスペースの後で停止します。今、split()
関数にmaxsplit=1
を追加すると、最初の空白の後のすべてをm[1]
に取得できます。これは完璧なようですね。たとえば、m[1]
にはtest
のみが含まれていても、私はちょうど前と同じものを入力したとしましょう。!status test
、驚き、それは動作しません。どうして? print(m[1])
で見ることができないものがmaxsplit=1
と実際に変わるのは何ですか?あなたが最初の空白の後にすべてのものを持っていないmaxplit
なし
後続スペース/改行? – user1620443
@ user1620443あなたは精巧にできますか?実際の出力をファイルに書き込もうとしましたが、 'm [1]'の最後に改行も改行もありません。少なくともテキストファイルで見ることができるものはありません... – dnLL
'm = message.content [7:]。strip()'すでに '!status'で始まるメッセージを知っているので –