質問編集履歴
2
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,8 +16,6 @@
|
|
16
16
|
|
17
17
|
# coding:UTF-8
|
18
18
|
|
19
|
-
import discord
|
20
|
-
|
21
19
|
from datetime import datetime
|
22
20
|
|
23
21
|
from discord.ext import tasks
|
@@ -26,13 +24,13 @@
|
|
26
24
|
|
27
25
|
import asyncio
|
28
26
|
|
27
|
+
import discord
|
29
28
|
|
30
29
|
|
31
30
|
|
31
|
+
ROLE_ID = 123456789
|
32
32
|
|
33
|
-
ROLE_ID = 123456
|
34
|
-
|
35
|
-
CHANNEL_ID = 123456
|
33
|
+
CHANNEL_ID = 123456789
|
36
34
|
|
37
35
|
# 接続に必要なオブジェクトを生成
|
38
36
|
|
@@ -48,6 +46,8 @@
|
|
48
46
|
|
49
47
|
async def on_ready():
|
50
48
|
|
49
|
+
loops.start()
|
50
|
+
|
51
51
|
print('ready')
|
52
52
|
|
53
53
|
|
@@ -60,19 +60,17 @@
|
|
60
60
|
|
61
61
|
async def loops():
|
62
62
|
|
63
|
+
|
64
|
+
|
63
65
|
# 現在の時刻
|
64
66
|
|
65
67
|
now = datetime.now().strftime('%H:%M')
|
66
|
-
|
67
|
-
print("lunchtime")
|
68
68
|
|
69
69
|
channel_sent = client.get_channel(CHANNEL_ID)
|
70
70
|
|
71
71
|
# ROLE_ID のロールを取得
|
72
72
|
|
73
73
|
lunch_role = channel_sent.guild.get_role(ROLE_ID)
|
74
|
-
|
75
|
-
|
76
74
|
|
77
75
|
tmp = list(set(channel_sent.members) & set(lunch_role.members))
|
78
76
|
|
@@ -84,15 +82,19 @@
|
|
84
82
|
|
85
83
|
# 先のリストから、ステータスがオンラインのメンバーのみのリストを作成。
|
86
84
|
|
85
|
+
if now == '09:02':
|
86
|
+
|
87
|
+
await channel_sent.send(f"今日のお昼ご飯当番は {random.choice(online_members).mention} さんです!!")
|
87
88
|
|
88
89
|
|
89
|
-
if now == '16:44':
|
90
90
|
|
91
|
-
|
91
|
+
|
92
92
|
|
93
93
|
# Botの起動とDiscordサーバーへの接続
|
94
94
|
|
95
95
|
client.run("Botのトークン")
|
96
|
+
|
97
|
+
|
96
98
|
|
97
99
|
|
98
100
|
|
1
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,27 +6,17 @@
|
|
6
6
|
|
7
7
|
###発生している問題
|
8
8
|
|
9
|
-
|
9
|
+
エラーコードはでず、起動はするのですが、
|
10
10
|
|
11
|
-
|
11
|
+
指定した時間に発言してくれません。
|
12
12
|
|
13
|
-
Traceback (most recent call last):
|
14
13
|
|
15
|
-
File "C:\Users\hopef\PycharmProjects\discordbot\venv\lib\site-packages\discord\ext\tasks\__init__.py", line 101, in _loop
|
16
|
-
|
17
|
-
await self.coro(*args, **kwargs)
|
18
|
-
|
19
|
-
File "C:/Users/hopef/PycharmProjects/discordbot/bot.py", line 28, in loop
|
20
|
-
|
21
|
-
lunch_role = channel_sent.guild.get_role(ROLE_ID)
|
22
|
-
|
23
|
-
AttributeError: 'NoneType' object has no attribute 'guild'
|
24
|
-
|
25
|
-
```
|
26
14
|
|
27
15
|
```ここに言語を入力
|
28
16
|
|
29
17
|
# coding:UTF-8
|
18
|
+
|
19
|
+
import discord
|
30
20
|
|
31
21
|
from datetime import datetime
|
32
22
|
|
@@ -36,13 +26,13 @@
|
|
36
26
|
|
37
27
|
import asyncio
|
38
28
|
|
39
|
-
import discord
|
40
29
|
|
41
30
|
|
42
31
|
|
43
|
-
ROLE_ID = 12345645466
|
44
32
|
|
33
|
+
ROLE_ID = 123456
|
34
|
+
|
45
|
-
CHANNEL_ID = 123456
|
35
|
+
CHANNEL_ID = 123456
|
46
36
|
|
47
37
|
# 接続に必要なオブジェクトを生成
|
48
38
|
|
@@ -68,19 +58,21 @@
|
|
68
58
|
|
69
59
|
@tasks.loop(seconds=60)
|
70
60
|
|
71
|
-
async def loop():
|
61
|
+
async def loops():
|
72
|
-
|
73
|
-
|
74
62
|
|
75
63
|
# 現在の時刻
|
76
64
|
|
77
65
|
now = datetime.now().strftime('%H:%M')
|
66
|
+
|
67
|
+
print("lunchtime")
|
78
68
|
|
79
69
|
channel_sent = client.get_channel(CHANNEL_ID)
|
80
70
|
|
81
71
|
# ROLE_ID のロールを取得
|
82
72
|
|
83
73
|
lunch_role = channel_sent.guild.get_role(ROLE_ID)
|
74
|
+
|
75
|
+
|
84
76
|
|
85
77
|
tmp = list(set(channel_sent.members) & set(lunch_role.members))
|
86
78
|
|
@@ -92,17 +84,17 @@
|
|
92
84
|
|
93
85
|
# 先のリストから、ステータスがオンラインのメンバーのみのリストを作成。
|
94
86
|
|
87
|
+
|
88
|
+
|
95
|
-
if now == '1
|
89
|
+
if now == '16:44':
|
96
90
|
|
97
91
|
await channel_sent.send(f"今日のお昼ご飯当番は {random.choice(online_members).mention} さんです!!")
|
98
|
-
|
99
|
-
loop.start()
|
100
|
-
|
101
|
-
|
102
92
|
|
103
93
|
# Botの起動とDiscordサーバーへの接続
|
104
94
|
|
105
95
|
client.run("Botのトークン")
|
96
|
+
|
97
|
+
|
106
98
|
|
107
99
|
|
108
100
|
|