🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

3回答

7711閲覧

discord botでサーバーの総人数を確認したいです。

orange3710

総合スコア0

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/02/09 13:11

編集2021/02/09 13:14

###実現したいこと
discordのボットでメンバーの総数を確認したいです

発生している問題

サーバーに入ってる人数はあってるのですがBOTの数とmemberの数がおかしくなってます

該当のソースコード

Python

1member_count = guild.member_count 2 await message.channel.send(f'メンバー数:{member_count}') 3 4 # ユーザのみ 5 user_count = sum(1 for member in guild.members if not member.bot) 6 await message.channel.send(f'ユーザ数:{user_count}') 7 8 # BOTのみ 9 bot_count = sum(1 for member in guild.members if member.bot) 10 await message.channel.send(f'BOT数:{bot_count}')

補足情報(FW/ツールのバージョンなど)

バージョンはPython3.8.2です。
qiitaの記事を見て書いたのですがどの記事かわからなくなってしまいました。
発生している問題の写真を諸事情で載せれませんでした申し訳ございません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

SERVER MEMBERS INTENTをONにします。

py

1import discord 2 3TOKEN = '***' 4intents = discord.Intents.default() 5intents.members = True 6client = discord.Client(intents=intents) 7# この下にon_readyとか

これして

py

1# ユーザー数(botを除く) 2user_count = sum(1 for member in guild.members if not member.bot) 3 4# bot数(botのみ) 5bot_count = sum(1 for member in guild.members if member.bot)

投稿2021/05/02 02:25

Kinoko_2k

総合スコア154

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

あってるか分かりませんが、、、

python

1member_count = guild.member_count # メンバー数 2bot_count = sum(1 for member in guild.members if member.bot) 3user_count = sum(1 for member in guild.members if not member.bot)

これで行けると思います。

投稿2021/03/25 13:55

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Discord APIの仕様変更により、メンバーを取得するにはMembers Intentが必要になりました。
そのため、Client・Botの定義時にintentsプロパティを指定する必要があります。

python

1intents = discord.Intents.all() 2client = discord.Client(intents=intents)

詳しくは猿でもわかる!discord.pyのIntentsについて! - Qiita
などの記事を読むことをお勧めします。

投稿2021/02/09 20:52

sevenc-nanashi

総合スコア643

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問