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

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

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

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

Q&A

解決済

1回答

2215閲覧

Pythonが吐き出すエラーについて

akari01

総合スコア13

Python

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

0グッド

1クリップ

投稿2019/02/23 17:24

編集2019/02/23 17:25

前提・実現したいこと

DiscoedでBOTを作りたく、以下のコマンドをpythonで実行したときにエラーが発生し、探しても解決策が見つからないのでご教授願いたいです。

エラーメッセージ

Traceback (most recent call last): File "time.py", line 1, in <module> import discord File "C:\Program Files\Python37\lib\site-packages\discord\__init__.py", line 20, in <module> from .client import Client, AppInfo, ChannelPermissions File "C:\Program Files\Python37\lib\site-packages\discord\client.py", line 38, in <module> from .state import ConnectionState File "C:\Program Files\Python37\lib\site-packages\discord\state.py", line 36, in <module> from . import utils, compat File "C:\Program Files\Python37\lib\site-packages\discord\compat.py", line 32 create_task = asyncio.async ^ SyntaxError: invalid syntax

ソースコード

import discord import datetime client = discord.Client() pretime_dict = {} @client.event async def on_voice_state_update(before, after): print("ボイスチャンネルで変化がありました") if((before.voice.self_mute is not after.voice.self_mute) or (before.voice.self_deaf is not after.voice.self_deaf)): print("ボイスチャンネルでミュート設定の変更がありました") return if(before.voice_channel is None): pretime_dict[after.name] = datetime.datetime.now() elif(after.voice_channel is None): duration_time = pretime_dict[before.name] - datetime.datetime.now() duration_time_adjust = int(duration_time.total_seconds()) * -1 reply_channel_name = "general" reply_channel = [channel for channel in before.server.channels if channel.name == reply_channel_name][0] reply_text = after.name + " が "+ before.voice_channel.name + " から抜けました。 通話時間:" + str(duration_time_adjust) +"秒" await client.send_message(reply_channel ,reply_text) client.run("token")#ボットのトークン

試したこと

特になし

補足情報(FW/ツールのバージョンなど)

Windows10 Home x64
python3.7.2

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

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

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

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

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

guest

回答1

0

ベストアンサー

discord.pyは基本的にはpython3.7以降には対応していません。対処法ですが、

  1. pythonのダウングレード
  2. githubのrewriteブランチに対応版があるので、そちらから入れ直す

のどちらかを選択してください。

後者の場合は、一旦アンインストールしてから

pip install git+https://github.com/Rapptz/discord.py.git@rewrite

で入ります。

discord - create_task = asyncio.async: SyntaxError: invalid syntax - Stack Overflow

discord.pyがpython3.7に対応していない問題について - Qiita


ところで、time.pyは標準モジュールtimeと名前がかぶります。トラブルのもとになるので、標準モジュールと被らない名前にリネームすることをおすすめします。

投稿2019/02/23 18:12

編集2019/02/23 18:13
hayataka2049

総合スコア30933

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

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

akari01

2019/02/24 06:20

詳しい説明ありがとうございます。 勉強、サーチ不足でした。 また、ファイル名の指摘もありがとうございます。 直します。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問