Python
Python3
bot
discord
discord.py

discord.pyのasync/rewriteとは何なのか

discord.py を知らない方はこちらをお読みください。
Pythonで実用Discord bot(discord.py解説)

要は

旧バージョンが async
新バージョンが rewrite

互換性はありません。

python2系/3系と同様の問題と考えてください。

呼称はGithubリポジトリのブランチ名が由来
- https://github.com/Rapptz/discord.py/tree/async
- https://github.com/Rapptz/discord.py/tree/rewrite

async版 について

  • ドキュメント(英語)
  • 別称 v0.16.12 or 現行版
  • pip install discord.py で入る
  • python3.7 では動かない(3.4.2 から 3.6.* で動く)
  • 現在殆どの記事で解説されているのがこのバージョン
  • 最終更新日 2017/11/13
チャンネルへのメッセージ送信の構文
await client.send_message(channel, 'Hi!')

rewrite版 について

チャンネルへのメッセージ送信の構文
await channel.send('Hi!')
インストール方法
pip install https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py[voice]

おまけ

2018/06/07 に投稿した
Pythonで実用Discord bot(discord.py解説)
おかげさまで 2019/01/10 時点で 28436 views と、
多くの方に参照される記事となりました。

しかしながらそちらの記事は discord.py の async版 を扱っており、
現在主流となりつつある rewrite版 に対応していません。

他の記事の大半も同様で、そのため質問相談等の際に
質問者と回答者の双方で混乱や面倒事があり、
理解を得るための記事が必要と考え執筆しました。

以後説明が面倒な際はこちらの記事を投げてください。