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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

受付中

Discord.py コマンドでロール付与をしたいのですがやり方がわかりません。助けてほしいです。

harumaki554
harumaki554

総合スコア0

Discord

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0回答

-3評価

0クリップ

138閲覧

投稿2022/05/16 16:24

編集2022/05/16 16:30

Discord.py コマンドでロール付与をしたいのですがやり方がわかりません。助けてほしいです。
現在こんな感じです

import

import os import os; import ma as ma print(os.getcwd()) import subprocess import sys import random import asyncio import string import secrets import discord import os from discord.ext import commands import random from discord import Permissions import asyncio import shutil # 自分のBotのアクセストークンに置き換えてください # 読込むファイルのパスを宣言する file_name = "./token.txt" try: file = open(file_name) data = file.read() print(data) except Exception as e: print(e) finally: file.close() # 接続に必要なオブジェクトを生成 client = discord.Client() # 起動時に動作する処理 @client.event async def on_ready(): # 起動したらターミナルにログイン通知が表示される print('----------------') print('ログインしました') print('----------------') print('') print('BOT表示名:', client.user.name) # Botの名前 print('BOTのID:', client.user.id) # ID print('Dicord.pyのバージョン:', discord.__version__) ch = client.get_channel(947469205538762812) print('') guild_count = len(client.guilds) game = discord.Game(f'{guild_count} サーバーに導入されています') await client.change_presence(activity=discord.Game(name=game)) print('ログインしました {0.user}'.format(client)) await ch.send("BOTが起動しました!") # メッセージ受信時に動作する処理 @client.event async def on_message(message): guild_count = len(client.guilds) game = discord.Game(f'{guild_count} サーバーに導入されています') await client.change_presence(activity=discord.Game(name=game)) # メッセージ送信者がBotだった場合は無視する if message.author.bot: return # 「/neko」と発言したら「にゃーん」が返る処理 if message.content == 'spb!認証': passseta = random.randint(11111111, 9999999999) passsetb = random.randint(11111111, 9999999999) passsetc = random.randint(11111111, 9999999999) print(passseta) print(passsetb) print(passsetc) passlock = passseta+passsetb+passsetc channel = message.channel await channel.send("認証コードを30秒以内に送ってください") await channel.send(str('`認証コード : `')+str(passlock)) path = str('./')+str(message.guild.id)+str(message.channel.id) file_name = str('./')+str(message.guild.id)+str(message.channel.id) file = open(file_name, 'w') file.write(str(passlock)) file.close() file = open(file_name) file.close() # 待っているものに該当するかを確認する関数 def check(m): # メッセージが `おはよう` かつ メッセージを送信したチャンネルが # コマンドを打ったチャンネルという条件 path = str('./')+str(message.guild.id)+str(message.channel.id) file_name = str('./')+str(message.guild.id)+str(message.channel.id) f = open(path) file = open(file_name) data = file.read() print(data) file.close() file = open(file_name) file.close() return m.content == data and m.channel == channel try: # wait_forを用いて、イベントが発火し指定した条件を満たすまで待機する msg = await client.wait_for('message', check=check, timeout=30) # wait_forの1つ目のパラメータは、イベント名の on_がないもの # 2つ目は、待っているものに該当するかを確認する関数 (任意) # 3つ目は、タイムアウトして asyncio.TimeoutError が発生するまでの秒数 # asyncio.TimeoutError が発生したらここに飛ぶ except asyncio.TimeoutError: await channel.send(f'{message.author.mention}さん、認証時間切れです') else: # メンション付きでメッセージを送信する。 await channel.send(f'{msg.author.mention}さん、認証は成功しました') ROLE_ID = 975753269420884048 ID_ROLE_WELCOME = 975753269420884048 # 付けたい役職のID # channel_id から Channel オブジェクトを取得 role = guild.get_role(ID_ROLE_WELCOME) # リアクションを付けたメンバーに役職を付与 await member.add_roles(role) # 分かりやすいように歓迎のメッセージを送る await channel.send('いらっしゃいませ!') # Botの起動とDiscordサーバーへの接続 client.run(data)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Discord

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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