回答編集履歴
2
コードのレイアウト修正
test
CHANGED
@@ -88,26 +88,6 @@
|
|
88
88
|
|
89
89
|
|
90
90
|
|
91
|
-
# asyncio でのループの記述の仕方
|
92
|
-
|
93
|
-
# time.sleepやループは、イベントループ(discord通信等)を止めてしまうので
|
94
|
-
|
95
|
-
# 必ず asynci.sleep を使います。
|
96
|
-
|
97
|
-
async def my_loop_func(channel, seconds=60.0, count=5):
|
98
|
-
|
99
|
-
print("START TEST2")
|
100
|
-
|
101
|
-
for _ in range(count):
|
102
|
-
|
103
|
-
await channel.send("TEST2")
|
104
|
-
|
105
|
-
await asyncio.sleep(seconds)
|
106
|
-
|
107
|
-
print("DONE TEST2") # <-- キャンセルされた場合中断されます
|
108
|
-
|
109
|
-
|
110
|
-
|
111
91
|
@client.event
|
112
92
|
|
113
93
|
async def on_ready():
|
@@ -174,12 +154,30 @@
|
|
174
154
|
|
175
155
|
if USE_TEST2:
|
176
156
|
|
157
|
+
# asyncio でのループの記述の仕方
|
158
|
+
|
159
|
+
# time.sleepやループは、イベントループ(discord通信等)を止めてしまうので
|
160
|
+
|
161
|
+
# 必ず asynci.sleep を使います。
|
162
|
+
|
163
|
+
async def my_loop_func(channel, seconds=60.0, count=5):
|
164
|
+
|
165
|
+
print("START TEST2")
|
166
|
+
|
167
|
+
for _ in range(count):
|
168
|
+
|
169
|
+
await channel.send("TEST2")
|
170
|
+
|
171
|
+
await asyncio.sleep(seconds)
|
172
|
+
|
173
|
+
print("DONE TEST2") # <-- キャンセルされた場合中断されます
|
174
|
+
|
175
|
+
|
176
|
+
|
177
177
|
asyncio.ensure_future(my_loop_func(channel))
|
178
178
|
|
179
179
|
|
180
180
|
|
181
|
-
|
182
|
-
|
183
181
|
# (3) call_at, call_later で指定時間に処理
|
184
182
|
|
185
183
|
# 注意点:
|
1
テスト用にコメントアウトしていた部分を解除
test
CHANGED
@@ -100,7 +100,7 @@
|
|
100
100
|
|
101
101
|
for _ in range(count):
|
102
102
|
|
103
|
-
|
103
|
+
await channel.send("TEST2")
|
104
104
|
|
105
105
|
await asyncio.sleep(seconds)
|
106
106
|
|
@@ -142,7 +142,7 @@
|
|
142
142
|
|
143
143
|
async def task_loop_func():
|
144
144
|
|
145
|
-
|
145
|
+
await channel.send("TEST1")
|
146
146
|
|
147
147
|
pass
|
148
148
|
|