human
discord.pyを使用してpythonでスケルトンの不一致ボットを書いてください
gpt
オーケー！Pythonを使ったDiscordボットのスケルトンです。DiscordはあなたのボットにAPIトークンを要求するので注意してください。

```python
import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='!')

@bot.event
async def on_ready():
    print(f'{bot.user.name} has connected to Discord!')

@bot.command()
async def hello(ctx):
    await ctx.send('Hello!')

bot.run('YOUR_TOKEN_HERE')
```
human
APIトークンを保存するにはどうすればよいですか？コードのハードコードは悪い考えです。
gpt
そう、セキュリティ・トークンをコード自体にハードコードするのは、2つの異なる、しかし関連した理由から、とんでもないアイデアなのだ：

技術的には、トークンはソフトウェアのコンフィギュレーションの一部なので、ソフトウェア自体に埋め込むべきではありません。さらに、APIトークンは、ソフトウェアを実行している個人や組織以外には共有されるべきではない秘密である。考慮すべきことが2つある：

コンフィギュレーションの一部であること。コンフィギュレーションの一部なので、コンフィギュレーションファイル、コンフィギュレーションサービス、環境変数（`os.environ('APP_DISCORD_TOKEN')`でアクセスする）、コマンドラインオプションのような、より標準的なコンフィギュレーションセットアップを介してそれを受け入れたいと思うかもしれません。うまくいけば、あなたのアプリケーションはあらゆる種類の設定を受け入れるフレームワークを使うことができます。シークレットをファイル経由で直接設定できるようにする場合は、ソフトウェアのバージョン管理システム（バージョン管理にgitを使用している場合は`.gitignore`を使用するなど）からシークレットを除外して、誤って共有しないようにしてください！

トークンがシークレットであるという観点からは、シークレットの最も安全な場所は、物理的なシステム自体のハードウェアセキュリティモジュール内か、オペレーティングシステムのセキュアなストレージメカニズムになるでしょう。より柔軟なシークレットストレージサービスを使うこともできる。

これらの両方を一緒に考えるなら、安全な秘密ストレージフレームワークに対して統合し、秘密ストレージフレームワークを介して秘密トークンにアクセスするための設定メカニズムを提供したいと思うかもしれません。また、セキュリティ・トークンを長期的に自動的にローテーションする必要がある場合にも、この方が長期的な戦略が立てやすいことがわかるでしょう。
human
それで、ボットがアクセスできる間、APIキーが安全なストレージで安全に保つようにコードを書くことができますか？