質問編集履歴
3
簡易的にした
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
### 実現したいこと
|
2
2
|
userがactivityを変更させると変更したことを認識させる仕組みを作りたい
|
3
|
-
認識したら jsonにあるrole一覧から名前とid取得できるので そのゲームを始めたらそのゲームのroleがあるかを確認しあったらつける(事前につけられたくない人を選別する(現在書いてる途中なのでその部分がない))
|
4
3
|
|
5
4
|
### 発生している問題・分からないこと
|
6
|
-
activityを変更しても自動で認識してくれない voice_channelに入っ
|
5
|
+
activityを変更しても自動で認識してくれない voice_channelに入ったり
|
6
|
+
on_messageから user.activityなどをした場合の取得は問題ないのですが
|
7
7
|
自動認識の所だけで悩んでるのでそこだけ解決したい
|
8
|
-
|
9
8
|
|
10
9
|
|
11
10
|
### 該当のソースコード
|
@@ -18,57 +17,7 @@
|
|
18
17
|
@commands.Cog.listener()
|
19
18
|
async def on_member_update(self, before, after):
|
20
19
|
|
21
|
-
t = self.bot.get_channel(ids)
|
22
|
-
|
23
|
-
|
24
|
-
file_name = "path"
|
25
|
-
|
26
|
-
if after.guild and after.guild.id != Guild_id:
|
27
|
-
|
28
|
-
return
|
29
|
-
|
30
|
-
if after.activity.type == "playing":
|
31
|
-
|
32
|
-
await t.send("4")
|
33
|
-
|
34
|
-
game_name = after.activity.name
|
35
|
-
|
36
|
-
with open(file_name, "r") as f:
|
37
|
-
|
20
|
+
#~~ここから下に処理~~#
|
38
|
-
|
39
|
-
role_names = list(data["Roles"].keys())
|
40
|
-
|
41
|
-
best_match = process.extractOne(game_name, role_names)
|
42
|
-
|
43
|
-
await t.send(f"{best_match}, {after.activity.type}")
|
44
|
-
|
45
|
-
else:
|
46
|
-
|
47
|
-
game_name = after.activity.name
|
48
|
-
file_name = "path"
|
49
|
-
|
50
|
-
with open(file_name, "r") as f:
|
51
|
-
data = json.load(f)
|
52
|
-
|
53
|
-
role_names = list(data["Roles"].keys())
|
54
|
-
|
55
|
-
best_match = process.extractOne(game_name, role_names)
|
56
|
-
|
57
|
-
|
58
|
-
if best_match[1] > 80:
|
59
|
-
role_name = best_match[0]
|
60
|
-
role_id = data["Roles"][role_name]
|
61
|
-
role = discord.utils.get(after.guild.roles, id=role_id)
|
62
|
-
await t.send(f"{best_match}, {after.activity.type}")
|
63
|
-
|
64
|
-
if role:#いずれrole付与させるつもり
|
65
|
-
await t.send(f"{after.name}, {role_name}, {game_name}")
|
66
|
-
else:
|
67
|
-
|
68
|
-
t.send("a role that doesn't match")
|
69
|
-
else:
|
70
|
-
await t.send(f"{best_match}, {after.activity.type}")
|
71
|
-
return
|
72
21
|
|
73
22
|
|
74
23
|
async def setup(bot):
|
@@ -82,7 +31,7 @@
|
|
82
31
|
- [x] その他
|
83
32
|
|
84
33
|
##### 上記の詳細・結果
|
34
|
+
instansは親でall
|
85
35
|
調べてみてもそもそも activityの変化を検知してってのをしてる人が見つからず 自分なりにいじってみたのですができませんでした
|
86
36
|
|
87
37
|
### 補足
|
88
|
-
instansは親でallになってます
|
2
☑をつけ忘れていた
test
CHANGED
File without changes
|
test
CHANGED
@@ -76,7 +76,7 @@
|
|
76
76
|
```
|
77
77
|
|
78
78
|
### 試したこと・調べたこと
|
79
|
-
- [
|
79
|
+
- [x] teratailやGoogle等で検索した
|
80
80
|
- [x] ソースコードを自分なりに変更した
|
81
81
|
- [ ] 知人に聞いた
|
82
82
|
- [x] その他
|
1
わからない点をわかりやすく書き直した
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
### 発生している問題・分からないこと
|
6
6
|
activityを変更しても自動で認識してくれない voice_channelに入って無理やり更新させれば認識はしてくれる
|
7
|
-
|
7
|
+
自動認識の所だけで悩んでるのでそこだけ解決したい
|
8
8
|
|
9
9
|
|
10
10
|
|