質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

803閲覧

pythonで時計機能を作っているのですが、必ず発言してくれません。どうすればいいですか?

z6JST8rNRMLLl1T

総合スコア19

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/06/04 23:18

前提・実現したいこと

PYthonで時計機能を作っています
時計機能を実装中に不安定になってしまいました....

発生している問題・エラーメッセージ

error

1正常に動作しているためありません。

該当のソースコード

Python

1#coding:UTF-8 2import discord 3from discord.ext import tasks 4from datetime import datetime 5 6TOKEN = 'ODQ1ODI5NDYzODcwNzk5OTcy.YKmqEg.HRuPgCxn3_yn8lMoycxYqx1h3gc' #トークン 7CHANNEL_ID = 845213484513361950 #チャンネルID 8# 接続に必要なオブジェクトを生成 9client = discord.Client() 10 11print("電源が入りました。") 12 13# 60秒に一回ループ 14@tasks.loop(seconds=60) 15async def loop(): 16 # 現在の時刻 17 now = datetime.now().strftime('%H:%M') 18 if now == '07:00': 19 channel = client.get_channel(CHANNEL_ID) 20 await channel.send('おはよう') 21 22# 60秒に一回ループ 23@tasks.loop(seconds=60) 24async def loop(): 25 # 現在の時刻 26 now = datetime.now().strftime('%H:%M') 27 if now == '21:20': 28 channel = client.get_channel(CHANNEL_ID) 29 await channel.send('皆さんそろそろ寝たらどうですか?明日に響きますよ!') 30 31# 60秒に一回ループ 32@tasks.loop(seconds=60) 33async def loop(): 34 # 現在の時刻 35 now = datetime.now().strftime('%H:%M') 36 if now == '01:00': 37 channel = client.get_channel(CHANNEL_ID) 38 await channel.send('おはようございます。10:00になりました。') 39 40# 60秒に一回ループ 41@tasks.loop(seconds=60) 42async def loop(): 43 # 現在の時刻 44 now = datetime.now().strftime('%H:%M') 45 if now == '02:00': 46 channel = client.get_channel(CHANNEL_ID) 47 await channel.send('2時になりました') 48 49# 60秒に一回ループ 50@tasks.loop(seconds=60) 51async def loop(): 52 # 現在の時刻 53 now = datetime.now().strftime('%H:%M') 54 if now == '03:00': 55 channel = client.get_channel(CHANNEL_ID) 56 await channel.send('3時になりました') 57 58# 60秒に一回ループ 59@tasks.loop(seconds=60) 60async def loop(): 61 # 現在の時刻 62 now = datetime.now().strftime('%H:%M') 63 if now == '04:00': 64 channel = client.get_channel(CHANNEL_ID) 65 await channel.send('4時になりました') 66 67# 60秒に一回ループ 68@tasks.loop(seconds=60) 69async def loop(): 70 # 現在の時刻 71 now = datetime.now().strftime('%H:%M') 72 if now == '05:00': 73 channel = client.get_channel(CHANNEL_ID) 74 await channel.send('5時になりました') 75 76# 60秒に一回ループ 77@tasks.loop(seconds=60) 78async def loop(): 79 # 現在の時刻 80 now = datetime.now().strftime('%H:%M') 81 if now == '06:00': 82 channel = client.get_channel(CHANNEL_ID) 83 await channel.send('6時になりました') 84 85# 60秒に一回ループ 86@tasks.loop(seconds=60) 87async def loop(): 88 # 現在の時刻 89 now = datetime.now().strftime('%H:%M') 90 if now == '08:00': 91 channel = client.get_channel(CHANNEL_ID) 92 await channel.send('8時になりました') 93 94# 60秒に一回ループ 95@tasks.loop(seconds=60) 96async def loop(): 97 # 現在の時刻 98 now = datetime.now().strftime('%H:%M') 99 if now == '09:00': 100 channel = client.get_channel(CHANNEL_ID) 101 await channel.send('9時になりました') 102 103# 60秒に一回ループ 104@tasks.loop(seconds=60) 105async def loop(): 106 # 現在の時刻 107 now = datetime.now().strftime('%H:%M') 108 if now == '10:00': 109 channel = client.get_channel(CHANNEL_ID) 110 await channel.send('10時になりました。そろそろお昼の時間ですね') 111 112# 60秒に一回ループ 113@tasks.loop(seconds=60) 114async def loop(): 115 # 現在の時刻 116 now = datetime.now().strftime('%H:%M') 117 if now == '11:00': 118 channel = client.get_channel(CHANNEL_ID) 119 await channel.send('11時になりました。') 120 121# 60秒に一回ループ 122@tasks.loop(seconds=60) 123async def loop(): 124 # 現在の時刻 125 now = datetime.now().strftime('%H:%M') 126 if now == '13:00': 127 channel = client.get_channel(CHANNEL_ID) 128 await channel.send('13時になりました。皆さんお昼休憩しませんか?') 129 130# 60秒に一回ループ 131@tasks.loop(seconds=60) 132async def loop(): 133 # 現在の時刻 134 now = datetime.now().strftime('%H:%M') 135 if now == '14:00': 136 channel = client.get_channel(CHANNEL_ID) 137 await channel.send('14時になりました') 138 139# 60秒に一回ループ 140@tasks.loop(seconds=60) 141async def loop(): 142 # 現在の時刻 143 now = datetime.now().strftime('%H:%M') 144 if now == '15:00': 145 channel = client.get_channel(CHANNEL_ID) 146 await channel.send('15時になりました') 147 148# 60秒に一回ループ 149@tasks.loop(seconds=60) 150async def loop(): 151 # 現在の時刻 152 now = datetime.now().strftime('%H:%M') 153 if now == '16:00': 154 channel = client.get_channel(CHANNEL_ID) 155 await channel.send('16時になりました') 156 157# 60秒に一回ループ 158@tasks.loop(seconds=60) 159async def loop(): 160 # 現在の時刻 161 now = datetime.now().strftime('%H:%M') 162 if now == '17:00': 163 channel = client.get_channel(CHANNEL_ID) 164 await channel.send('17時になりました') 165 166# 60秒に一回ループ 167@tasks.loop(seconds=60) 168async def loop(): 169 # 現在の時刻 170 now = datetime.now().strftime('%H:%M') 171 if now == '18:00': 172 channel = client.get_channel(CHANNEL_ID) 173 await channel.send('18時になりました') 174 175# 60秒に一回ループ 176@tasks.loop(seconds=60) 177async def loop(): 178 # 現在の時刻 179 now = datetime.now().strftime('%H:%M') 180 if now == '19:00': 181 channel = client.get_channel(CHANNEL_ID) 182 await channel.send('19時になりました') 183 184# 60秒に一回ループ 185@tasks.loop(seconds=60) 186async def loop(): 187 # 現在の時刻 188 now = datetime.now().strftime('%H:%M') 189 if now == '20:00': 190 channel = client.get_channel(CHANNEL_ID) 191 await channel.send('20時になりました') 192 193# 60秒に一回ループ 194@tasks.loop(seconds=60) 195async def loop(): 196 # 現在の時刻 197 now = datetime.now().strftime('%H:%M') 198 if now == '21:00': 199 channel = client.get_channel(CHANNEL_ID) 200 await channel.send('21時になりました') 201 202# 60秒に一回ループ 203@tasks.loop(seconds=60) 204async def loop(): 205 # 現在の時刻 206 now = datetime.now().strftime('%H:%M') 207 if now == '23:00': 208 channel = client.get_channel(CHANNEL_ID) 209 await channel.send('23時になりました。通知話はとまります。明日の1時にまた!') 210 211 212# 60秒に一回ループ 213@tasks.loop(seconds=60) 214async def loop(): 215 # 現在の時刻 216 now = datetime.now().strftime('%H:%M') 217 if now == '22:00': 218 channel = client.get_channel(CHANNEL_ID) 219 await channel.send('皆さんそろそろ寝る時間ですね!(学生さんは)') 220 221# 60秒に一回ループ 222@tasks.loop(seconds=60) 223async def loop(): 224 # 現在の時刻 225 now = datetime.now().strftime('%H:%M') 226 if now == '12:00': 227 channel = client.get_channel(CHANNEL_ID) 228 await channel.send('皆さんそろそろお昼の時間ですね!おなかすきましたか?') 229 230 231 232#ループ処理実行 233loop.start() 234# Botの起動とDiscordサーバーへの接続 235client.run('トークン') 236

試したこと

discordのサーバーでも聞きましたがよくわかりませんでした

補足情報

discord.py:最新版
texteエディタ:Atom
python:3.9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

udon-ken

2021/06/05 00:45

トークンは削除しましょう。 このトークンは使わない方がいいので再発行しましょう。 で、、同じ関数名を複数定義しているのは問題かなあと。 ただ、上書きされてても最後の一個は動きそうではあるけど・・・
guest

回答1

0

ベストアンサー

まずは、それぞれの

now = datetime.now().strftime('%H:%M')

のnowをログファイルかなんかに落とすようにしてどういう値が入るか、どういう順番で実行されるのかを確認してみよう

投稿2021/06/05 00:34

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

z6JST8rNRMLLl1T

2021/08/16 11:07

返信が遅くなり申し訳ありません。なるほど。いちどtxtなどに落とすとよいんですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問