質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
Discord

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

Python

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

Q&A

解決済

2回答

3081閲覧

Discord.pyでのbanコードを作成した際のエラーについて質問したいです。

BuRaPotEalpha

総合スコア2

Discord

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

Python

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

0グッド

0クリップ

投稿2021/07/30 02:11

Discordで全員をBANするコードをとある企画のために作成しているのですが、以下のエラーが発生してしまいました。

発生している問題・エラーメッセージ

Ignoring exception in on_message Traceback (most recent call last): File "/opt/virtualenvs/python3/1ib/python3.8/site-packages/discord/client.py ", line 343, in _run_event await coro(*args, **kwargs) File "main.py", line 13, in on_messag await i.ban() File "/opt/virtualenvs/python3/1ib/python3.8/site-packages/discord/member.py line 554, in ban await self.guild.ban(self, **kwargs File "/opt/virtualenvs/python3/lib/py thon3.8/site-packages/discord/guild.py" , line 2026, in ban await self._state.http.ban(user.id, self.id, delete_message_days, reason=reason) File "/opt/virtualenvs/python3/1ib/py thon3.8/site-packages/discord/http.py", line 248, in request raise Forbidden(r, data) discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

該当のソースコード

Python

1import os 2import traceback 3import discord 4 5TOKEN = "teratail.com" 6client = discord.Client() 7 8 9@client.event 10async def on_message(message): 11 if message.content == "!link": 12 for i in message.guild.members: 13 await i.ban() 14 15client.run(TOKEN)

試したこと
botの権限については、管理者だけでなく、ban権限も与えました。

補足情報
replitで実行しています。

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

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

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

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

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

sibainu

2021/07/30 02:22 編集

botの設定から管理者権限を与えるのと、サーバーの設定からもBAN権限や管理者権限をbotに与えましたか?
guest

回答2

0

Discordの仕様上、自分のロールより上のメンバーはBANできません。
また、サーバーのオーナーもBANできないため、tryなどで無視する必要があります。

python

1 try: 2 await i.ban() 3 except discord.errors.Forbidden: 4 pass

投稿2021/07/30 02:27

sevenc-nanashi

総合スコア643

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

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

BuRaPotEalpha

2021/07/30 03:49

passしたところ、権限を一切持ってないプレイヤーまでbanされませんでした。
guest

0

自己解決

tryを使って、全てのユーザーから全ての権限を剥奪すると解決出来ました。

投稿2021/08/01 05:14

BuRaPotEalpha

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問