質問編集履歴
8
追記として最新のコードを掲載
test
CHANGED
File without changes
|
test
CHANGED
@@ -189,3 +189,95 @@
|
|
189
189
|
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'MyBot' object has no attribute 'change_nickname'
|
190
190
|
|
191
191
|
```
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
#追記4
|
196
|
+
|
197
|
+
```python
|
198
|
+
|
199
|
+
@commands.command()
|
200
|
+
|
201
|
+
async def agree(self, ctx, mcid):
|
202
|
+
|
203
|
+
if ctx.channel.id == 499427177444409366:
|
204
|
+
|
205
|
+
if mcid == "notid":
|
206
|
+
|
207
|
+
role = discord.utils.get(ctx.guild.roles, name="m._.m(モン民)")
|
208
|
+
|
209
|
+
role1 = discord.utils.get(ctx.guild.roles, name="通知")
|
210
|
+
|
211
|
+
role2 = discord.utils.get(ctx.guild.roles, name="再認証者")
|
212
|
+
|
213
|
+
await ctx.author.add_roles(role, role1, role2)
|
214
|
+
|
215
|
+
embed = discord.Embed(title="{}さんの認証が完了しましたなの".format(ctx.author.name), description='', color=0xff0000)
|
216
|
+
|
217
|
+
embed.add_field(name="MLSBOTに関して・・・", value="当サーバーではあらゆる機能を持ったBOTがいます。\nその機能は<#499571567823421440>にて`!?help`と入力するとコマンド一覧が、\n<#546337968042803222>にて`何ができるの?`と聞いたり`何が話せるの?`と聞いたりすると機能がわかります。", inline=False)
|
218
|
+
|
219
|
+
await ctx.author.send(embed=embed)
|
220
|
+
|
221
|
+
await ctx.bot.change_nickname(nick=ctx.author_name + "#非スポンサー")
|
222
|
+
|
223
|
+
else:
|
224
|
+
|
225
|
+
role = discord.utils.get(ctx.guild.roles, name="m._.m(モン民)")
|
226
|
+
|
227
|
+
role1 = discord.utils.get(ctx.guild.roles, name="通知")
|
228
|
+
|
229
|
+
role2 = discord.utils.get(ctx.guild.roles, name="再認証者")
|
230
|
+
|
231
|
+
await ctx.author.add_roles(role, role1, role2)
|
232
|
+
|
233
|
+
embed = discord.Embed(title="{}さんの認証が完了しましたなの".format(ctx.author.name), description='', color=0xff0000)
|
234
|
+
|
235
|
+
embed.add_field(name="MLSBOTに関して・・・", value="当サーバーではあらゆる機能を持ったBOTがいます。\nその機能は<#499571567823421440>にて`!?help`と入力するとコマンド一覧が、\n<#546337968042803222>にて`何ができるの?`と聞いたり`何が話せるの?`と聞いたりすると機能がわかります。", inline=False)
|
236
|
+
|
237
|
+
await ctx.author.send(embed=embed)
|
238
|
+
|
239
|
+
await ctx.change_nickname(mcid + "#非スポンサー")
|
240
|
+
|
241
|
+
if ctx.channel.id == 555051444596768789:
|
242
|
+
|
243
|
+
if mcid == "notid":
|
244
|
+
|
245
|
+
role = discord.utils.get(ctx.guild.roles, name="m._.m(モン民)")
|
246
|
+
|
247
|
+
role1 = discord.utils.get(ctx.guild.roles, name="通知")
|
248
|
+
|
249
|
+
role2 = discord.utils.get(ctx.guild.roles, name="再認証者")
|
250
|
+
|
251
|
+
await ctx.author.add_roles(role, role1, role2)
|
252
|
+
|
253
|
+
embed = discord.Embed(title="{}さんの認証が完了しましたなの".format(ctx.author.name), description='', color=0xff0000)
|
254
|
+
|
255
|
+
embed.add_field(name="MLSBOTに関して・・・", value="当サーバーではあらゆる機能を持ったBOTがいます。\nその機能は<#499571567823421440>にて`!?help`と入力するとコマンド一覧が、\n<#546337968042803222>にて`何ができるの?`と聞いたり`何が話せるの?`と聞いたりすると機能がわかります。", inline=False)
|
256
|
+
|
257
|
+
await ctx.author.send(embed=embed)
|
258
|
+
|
259
|
+
await ctx.bot.change_nickname(nick=ctx.author_name + "#非スポンサー")
|
260
|
+
|
261
|
+
else:
|
262
|
+
|
263
|
+
role = discord.utils.get(ctx.guild.roles, name="m._.m(モン民)")
|
264
|
+
|
265
|
+
role1 = discord.utils.get(ctx.guild.roles, name="通知")
|
266
|
+
|
267
|
+
role2 = discord.utils.get(ctx.guild.roles, name="再認証者")
|
268
|
+
|
269
|
+
await ctx.author.add_roles(role, role1, role2)
|
270
|
+
|
271
|
+
embed = discord.Embed(title="{}さんの認証が完了しましたなの".format(ctx.author.name), description='', color=0xff0000)
|
272
|
+
|
273
|
+
embed.add_field(name="MLSBOTに関して・・・", value="当サーバーではあらゆる機能を持ったBOTがいます。\nその機能は<#499571567823421440>にて`!?help`と入力するとコマンド一覧が、\n<#546337968042803222>にて`何ができるの?`と聞いたり`何が話せるの?`と聞いたりすると機能がわかります。", inline=False)
|
274
|
+
|
275
|
+
await ctx.author.send(embed=embed)
|
276
|
+
|
277
|
+
await ctx.bot.change_nickname(mcid + "#非スポンサー")
|
278
|
+
|
279
|
+
```
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
これが最新のコードです。
|
7
error文の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -141,3 +141,51 @@
|
|
141
141
|
|
142
142
|
|
143
143
|
`await ctx.bot.change_nickname(mcid + "#非スポンサー")`このようにしたり、`ctx`を`self.bot`や`mcid`にしたり、[ここ](https://techwithtim.net/tutorials/discord-py/change-nickname/)を参考に`await after.edit(nick=last)`を使ってみたりと試行錯誤しましたが、ニックネームを変更する部分のみうまくできませんでした。
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
#追記3.5
|
148
|
+
|
149
|
+
どういう結果だったかを忘れていました。
|
150
|
+
|
151
|
+
コマンド実行時に同じようなエラーがでるといった感じです。
|
152
|
+
|
153
|
+
```error
|
154
|
+
|
155
|
+
Ignoring exception in command agree:
|
156
|
+
|
157
|
+
Traceback (most recent call last):
|
158
|
+
|
159
|
+
File "C:\Users\enjoy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\ext\commands\core.py", line 62, in wrapped
|
160
|
+
|
161
|
+
ret = await coro(*args, **kwargs)
|
162
|
+
|
163
|
+
File "c:\Users\enjoy\OneDrive\デスクトップ\Python\DiscordBot\cogs\testcog.py", line 275, in agree
|
164
|
+
|
165
|
+
await ctx.bot.change_nickname(nick=ctx.author_name + "#非スポンサー")
|
166
|
+
|
167
|
+
AttributeError: 'MyBot' object has no attribute 'change_nickname'
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
The above exception was the direct cause of the following exception:
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
Traceback (most recent call last):
|
176
|
+
|
177
|
+
File "C:\Users\enjoy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\ext\commands\bot.py", line 898, in invoke
|
178
|
+
|
179
|
+
await ctx.command.invoke(ctx)
|
180
|
+
|
181
|
+
File "C:\Users\enjoy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\ext\commands\core.py", line 611, in invoke
|
182
|
+
|
183
|
+
await injected(*ctx.args, **ctx.kwargs)
|
184
|
+
|
185
|
+
File "C:\Users\enjoy\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\ext\commands\core.py", line 71, in wrapped
|
186
|
+
|
187
|
+
raise CommandInvokeError(exc) from exc
|
188
|
+
|
189
|
+
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'MyBot' object has no attribute 'change_nickname'
|
190
|
+
|
191
|
+
```
|
6
指摘された箇所の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -115,3 +115,29 @@
|
|
115
115
|
|
116
116
|
|
117
117
|
どうかご教授ください。
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
#追記3
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
`それでできませんでした。`について・・
|
126
|
+
|
127
|
+
`以下を読んでも分からなかった部分を質問してください。`という部分から読んでできませんでした、という意味でした。わかりずらい表記をしてすみません。
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
ニックネームの変更がわかりません。
|
134
|
+
|
135
|
+
また、こういう場所で質問する場合はドキュメントをしっかり読んで、日本語じゃないなら翻訳を使いながら読み取ってそれで分からなければ聞くという流れで質問しなければ失礼だとわかってます。
|
136
|
+
|
137
|
+
なので、実装したいことを説明しますと、
|
138
|
+
|
139
|
+
`!?agree Monster2408`と入力するとニックネームが`Monster2408#非スポンサー`となるようにしたいです。
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
`await ctx.bot.change_nickname(mcid + "#非スポンサー")`このようにしたり、`ctx`を`self.bot`や`mcid`にしたり、[ここ](https://techwithtim.net/tutorials/discord-py/change-nickname/)を参考に`await after.edit(nick=last)`を使ってみたりと試行錯誤しましたが、ニックネームを変更する部分のみうまくできませんでした。
|
5
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
4
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
discord.pyでメンバーのニックネームを変更する方法が分からない
|
test
CHANGED
@@ -97,3 +97,21 @@
|
|
97
97
|
ですが、ニックネームを変更する方法がわかりません。
|
98
98
|
|
99
99
|
どうかご教授お願い致します。
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
#追記2
|
104
|
+
|
105
|
+
pythonのバージョンは3.6.6です。
|
106
|
+
|
107
|
+
discord.pyは1.0.0aです。
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
discord.pyのドキュメント等は既に確認済みです。
|
112
|
+
|
113
|
+
それでできませんでした。
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
どうかご教授ください。
|
3
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,10 +1,4 @@
|
|
1
1
|
コマンドを実行すると役職を付与、ニックネームを変更したいです。
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
ですが、ニックネームを変更する方法がわかりません。
|
6
|
-
|
7
|
-
どうかご教授お願い致します。
|
8
2
|
|
9
3
|
|
10
4
|
|
@@ -95,3 +89,11 @@
|
|
95
89
|
return
|
96
90
|
|
97
91
|
```
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
#追記
|
96
|
+
|
97
|
+
ですが、ニックネームを変更する方法がわかりません。
|
98
|
+
|
99
|
+
どうかご教授お願い致します。
|
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
コマンドを実行すると役職を付与、ニックネームを変更したいです。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
ですが、ニックネームを変更する方法がわかりません。
|
6
|
+
|
7
|
+
どうかご教授お願い致します。
|
2
8
|
|
3
9
|
|
4
10
|
|
@@ -89,7 +95,3 @@
|
|
89
95
|
return
|
90
96
|
|
91
97
|
```
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
どうかご教授お願い致します。
|
1
困ってたことのうち片方は自己解決できました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
PythonでBOTを作っていて
|
1
|
+
PythonでBOTを作っていてつまずいています。
|
test
CHANGED
@@ -1,29 +1,3 @@
|
|
1
|
-
#1つ目
|
2
|
-
|
3
|
-
Discordの特定のチャンネルでのみメッセージを編集するとそれを削除する機構を作りたいのですがイベントがわからずに詰まっています。
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
書いたコードはイベントがわからなかったためめちゃくちゃです。
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
```python
|
12
|
-
|
13
|
-
async def on_Message.edit(self, message):
|
14
|
-
|
15
|
-
await message.delete()
|
16
|
-
|
17
|
-
await message.author.send("<#510735554128773121>ではメッセージの編集は禁止されてるの\nメッセージは消されたので再度`参加`とお書きください。")
|
18
|
-
|
19
|
-
```
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
#2つ目
|
26
|
-
|
27
1
|
コマンドを実行すると役職を付与、ニックネームを変更したいです。
|
28
2
|
|
29
3
|
|