質問編集履歴
2
コードエラー説明を追加しました
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
python初心者です、awaitがうまく機能しません
|
1
|
+
python初心者です、discord botでawaitがうまく機能しません
|
body
CHANGED
@@ -3,17 +3,39 @@
|
|
3
3
|
数日前に初めてpythonを始めたものです。
|
4
4
|
discord botに特定の曜日、日時になったときにメッセージを送るプログラムを作成したいのですが、エラーも出ず、頼れるかたも周りにおらず、困っています。
|
5
5
|
エラーメッセージが出ないのですが、初心者のた安直な手段ではありますがprint分を配置することで大体のエラーが起こっている場所を特定しました。
|
6
|
-
|
6
|
+
```
|
7
7
|
print("send2")
|
8
8
|
await channel.send('時間だよ')
|
9
9
|
print("send3")
|
10
|
-
|
10
|
+
```
|
11
|
+
```
|
11
12
|
print("完了")
|
12
13
|
await SendMessage()
|
13
|
-
|
14
|
+
```
|
14
15
|
どうやらこの二つが機能しておらず、discordにメッセージを送れないようです。
|
15
16
|
よろしくお願いします
|
16
17
|
|
18
|
+
### コードエラー説明
|
19
|
+
特定の曜日と時間になったときメッセージを送るBOTを作りたいと思い、today()とweekday()でその日の曜日を割り出し、曜日番号と=であれば"第1段階"と出力されます。
|
20
|
+
```
|
21
|
+
if date.weekday()==5:
|
22
|
+
print("1段階")
|
23
|
+
```
|
24
|
+
次にその日の時間を割り出し、その時間と=であれば"完了"と出力し、await SendMessage()をdiscordに送るはずなのですが、メッセージが届きません。
|
25
|
+
```
|
26
|
+
if timedate.hour==1:
|
27
|
+
print("完了")
|
28
|
+
await SendMessage()
|
29
|
+
```
|
30
|
+
そこでSendMessage()を見てみると"send2"で止まってることがわかりました。
|
31
|
+
```
|
32
|
+
async def SendMessage():
|
33
|
+
print("send")
|
34
|
+
channel = client.get_channel(チャンネル番号)
|
35
|
+
print("send2")
|
36
|
+
await channel.send('時間だよ')
|
37
|
+
print("send3"
|
38
|
+
```
|
17
39
|
# コード内容とエラー文
|
18
40
|
|
19
41
|
```python
|
1
トークンとチャンネル番号記載
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,8 +23,8 @@
|
|
23
23
|
import discord
|
24
24
|
from discord.ext import tasks
|
25
25
|
|
26
|
-
TOKEN = ""
|
26
|
+
TOKEN = "トークン番号"
|
27
|
-
CHANNEL_ID =
|
27
|
+
CHANNEL_ID = チャンネル番号
|
28
28
|
client = discord.Client()
|
29
29
|
|
30
30
|
|
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
async def SendMessage():
|
44
44
|
print("send")
|
45
|
-
channel = client.get_channel()
|
45
|
+
channel = client.get_channel(チャンネル番号)
|
46
46
|
print("send2")
|
47
47
|
await channel.send('時間だよ')
|
48
48
|
print("send3")
|
@@ -80,7 +80,7 @@
|
|
80
80
|
1段階
|
81
81
|
完了
|
82
82
|
send
|
83
|
-
|
83
|
+
send2
|
84
84
|
ready
|
85
85
|
```
|
86
86
|
|