擅长:python、mysql、java
<p>一种简单的方法是使用一个(全局)布尔变量<code>enabled</code>,当接收命令<code>!start</code>时,该变量被切换到<code>True</code>,在<code>!stop</code>命令上被切换到<code>False</code>。然后,当检查除<code>!start</code>和<code>!stop</code>以外的其他命令时,首先检查<code>enabled</code>的值,并且仅当<code>enabled</code>为<code>True</code>时才执行这些命令。在接收这两个命令之一时发送消息也很简单</p>
<p>这可能看起来像这样:</p>
<pre class="lang-py prettyprint-override"><code>enabled = False
# Method called when the bot receives a message
async def on_message(message):
global enabled
if message.content == "!start":
enabled = True
await message.channel.send("Bot is on.")
elif message.content == "!stop":
enabled = False
await message.channel.send("Bot is off.")
elif enabled:
# Do whatever is done when the bot receives a message normally
# ...
</code></pre>
<p>虽然使用<code>global</code>是一种已知的错误做法,但这将作为第一种方法</p>