質問編集履歴
5
少し修正
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -21,7 +21,7 @@ | |
| 21 21 | 
             
            from discord.ext import tasks
         | 
| 22 22 | 
             
            from datetime import datetime
         | 
| 23 23 |  | 
| 24 | 
            -
            CHANNEL_ID2 = | 
| 24 | 
            +
            CHANNEL_ID2 =  #チャンネルID
         | 
| 25 25 | 
             
            # 接続に必要なオブジェクトを生成
         | 
| 26 26 | 
             
            client = discord.Client()
         | 
| 27 27 |  | 
4
エラー文の追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -3,8 +3,14 @@ | |
| 3 3 | 
             
            数字は10分につき1上昇するとする。
         | 
| 4 4 | 
             
            例)0時0分に「/97」と入力された時、30分後に100に達するので「0時30分」を返す。
         | 
| 5 5 |  | 
| 6 | 
            -
            ###  | 
| 6 | 
            +
            ### エラー文
         | 
| 7 | 
            +
            Ignoring exception in on_message
         | 
| 8 | 
            +
            Traceback (most recent call last):
         | 
| 9 | 
            +
            File "C:\Users\PycharmProjects\discord\venv\lib\site-packages\discord\client.py", line 343, in _run_event
         | 
| 7 | 
            -
             | 
| 10 | 
            +
            await coro(*args, **kwargs)
         | 
| 11 | 
            +
            File "C:\Users\PycharmProjects\discord\bot.py", line 48, in on_message
         | 
| 12 | 
            +
            jikan = jikan + h
         | 
| 13 | 
            +
            NameError: name 'channel' is not defined
         | 
| 8 14 |  | 
| 9 15 |  | 
| 10 16 | 
             
            ### 該当のソースコード
         | 
3
回答を基にプログラムを編集。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -10,24 +10,42 @@ | |
| 10 10 | 
             
            ### 該当のソースコード
         | 
| 11 11 |  | 
| 12 12 | 
             
            ```Python
         | 
| 13 | 
            +
            #coding:UTF-8
         | 
| 14 | 
            +
            import discord
         | 
| 15 | 
            +
            from discord.ext import tasks
         | 
| 16 | 
            +
            from datetime import datetime
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            CHANNEL_ID2 = 851720569183141910 #チャンネルID
         | 
| 19 | 
            +
            # 接続に必要なオブジェクトを生成
         | 
| 20 | 
            +
            client = discord.Client()
         | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 13 23 | 
             
            @client.event
         | 
| 14 24 | 
             
            async def on_message(message):
         | 
| 15 25 | 
             
                # / というコマンドで反応する
         | 
| 16 26 | 
             
                if message.content.startswith('/'):
         | 
| 17 27 | 
             
                    str = message.content
         | 
| 18 28 | 
             
                    number = str.lstrip('/')
         | 
| 29 | 
            +
                    # min = (100 - number) * 10   <-- intに変換
         | 
| 19 | 
            -
                    min = (100 - number) * 10
         | 
| 30 | 
            +
                    min = (100 - int(number)) * 10
         | 
| 20 31 | 
             
                    if min >= 60:
         | 
| 21 32 | 
             
                        hour = min // 60
         | 
| 22 33 | 
             
                        minute = min % 60
         | 
| 23 | 
            -
             | 
| 34 | 
            +
                    else:
         | 
| 35 | 
            +
                        hour = 0                  # <-- 60以下の場合のhourの初期化
         | 
| 24 36 | 
             
                        minute = min
         | 
| 25 | 
            -
                    now = datetime. | 
| 37 | 
            +
                    now = datetime.now()
         | 
| 26 38 | 
             
                    jikan = now.hour + hour
         | 
| 27 39 | 
             
                    fun = now.minute + minute
         | 
| 28 | 
            -
             | 
| 40 | 
            +
                    if fun >= 60:
         | 
| 29 | 
            -
             | 
| 41 | 
            +
                        h = fun // 60
         | 
| 30 | 
            -
             | 
| 42 | 
            +
                        fun = fun % 60
         | 
| 31 | 
            -
             | 
| 43 | 
            +
                        jikan = jikan + h
         | 
| 44 | 
            +
                    channel = client.get_channel(CHANNEL_ID2)
         | 
| 32 45 | 
             
                    await channel.send(str(jikan) + '時' + str(fun) + '分です。')
         | 
| 46 | 
            +
             | 
| 47 | 
            +
            #ループ処理実行
         | 
| 48 | 
            +
            loop.start()
         | 
| 49 | 
            +
            # Botの起動とDiscordサーバーへの接続
         | 
| 50 | 
            +
            client.run(TOKEN)
         | 
| 33 51 | 
             
            ```
         | 
2
インデントに誤りがあったため修正。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -25,9 +25,9 @@ | |
| 25 25 | 
             
                    now = datetime.datetime.now()
         | 
| 26 26 | 
             
                    jikan = now.hour + hour
         | 
| 27 27 | 
             
                    fun = now.minute + minute
         | 
| 28 | 
            -
             | 
| 28 | 
            +
                  if fun >= 60:
         | 
| 29 | 
            -
             | 
| 29 | 
            +
                      h = fun // 60
         | 
| 30 | 
            -
             | 
| 30 | 
            +
                      fun = fun % 60
         | 
| 31 | 
            -
             | 
| 31 | 
            +
                      jikan = jikan + h     
         | 
| 32 32 | 
             
                    await channel.send(str(jikan) + '時' + str(fun) + '分です。')
         | 
| 33 33 | 
             
            ```
         | 
1
時間の計算式が間違っていたため修正。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -20,8 +20,14 @@ | |
| 20 20 | 
             
                    if min >= 60:
         | 
| 21 21 | 
             
                        hour = min // 60
         | 
| 22 22 | 
             
                        minute = min % 60
         | 
| 23 | 
            +
                else:
         | 
| 24 | 
            +
                        minute = min
         | 
| 23 25 | 
             
                    now = datetime.datetime.now()
         | 
| 24 26 | 
             
                    jikan = now.hour + hour
         | 
| 25 27 | 
             
                    fun = now.minute + minute
         | 
| 28 | 
            +
                if fun >= 60:
         | 
| 29 | 
            +
                    h = fun // 60
         | 
| 30 | 
            +
                    fun = fun % 60
         | 
| 31 | 
            +
                    jikan = jikan + h     
         | 
| 26 32 | 
             
                    await channel.send(str(jikan) + '時' + str(fun) + '分です。')
         | 
| 27 33 | 
             
            ```
         | 
