Discordサーバ 質問するときには

Python.jp Discordサーバチャンネルの紹介質問するときには回答するときには

初心者・未経験者の、Pythonプログラミングに関する質問は大歓迎ですが、以下の点に気をつけてください。

禁止事項

当サーバでは、第三者に迷惑をかけたり権利を侵害したりする恐れの高い、以下のような質問はお断りします。

規約でスクレイピングなどを認めていないサイトへのアクセスに関する質問

多くの商用Webサイトでは、スクレイピングなどによる情報の取得を禁止しています。以下のようなサイトのスクレイピングしたい、という要望はよくありますが、当サーバでの質問は禁止します。

  • Twitter、FacebookなどSNSサイト
  • Amazonなどのショッピングサイト
  • YouTube、pixivなどの動画・画像サービス

同様に、公開されてないURL・APIの利用に関する質問も禁止します。こういった行為が必ずしも違法行為となるわけではありませんが、このサーバではお断りします。

無断コピー、学校の課題など、他者の権利を侵害する質問

引用の範囲を超えて、他のWebサイトや書籍等の内容を書き込まないでください。書籍やWebサイトの記事やソースコードについて質問するとき、勝手にコピーして書き込んではいけません。コピーが許可されている場合でも、コピー元のURLなどを明示してください。

また、学校の宿題など、第三者が作成した課題を書き込んで回答を求めるのは禁止します。そのような課題にも著作権があり、無断で公開することは著作権の侵害に当たります。

AtCorderなどのプログラミングコンテストなど、プログラミング課題を公開しているWebサイトの問題であっても、コピーして書き込むのは著作権の侵害になります。公開されている問題であれば、URLだけを紹介してください。

クラッキング等に関する質問

クラッキング、コンピュータウィルスの開発、不正な情報の取得など、不適切な技術の利用に関する質問は禁止します。

質問には情報をできるだけたくさん書き込みましょう

プログラミングをはじめたばかりの人から、次のようなパターンの質問が寄せられることがあります。

❝ Discordのボットを開発しているのですが、「名前が見つかりません」というエラーが出てしまいます。どうすればよいでしょう?😢 ❞

これでは、どういうプログラムを開発しているのか、という情報が全く提供されていないので、アドバイスすることができません。

質問には、次のような情報を含めるようにしましょう。

困っている点を、できるだけ詳しく教えてください

「プログラムがうまく動きません。どうすればよいでしょう?」とだけ書かれた質問がよくありますが、これだけだと回答が難しいです。最低限、以下の3点を教えてください。

  • 質問のプログラムが何をするプログラムか、教えてください

  • 実行した結果、どんな結果が画面に表示されたか、教えてください。スクリーンショットでもかまいません。

  • どういう結果が表示されて欲しいのか、期待していた結果を教えてください。

使用している動作環境(プラットフォーム、Pythonのバージョンなど)を教えて下さい

開発に使用しているプラットフォーム(Windows10、macOS Catalina など)と、Pythonのバージョンを教えて下さい。

よくわからない場合、コマンドプロンプトなどで python3 コマンド(Windowsでは pythonコマンド)を実行すると、次のようなメッセージが表示されます。

$ python3
Python 3.8.3 (default, Jul  2 2020, 11:26:31)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

このメッセージをコピーして、そのまま貼り付けてください。

ソースコードを教えて下さい

プログラムが動かない・エラーが発生する、などという質問の場合、そのプログラムのソースコードがないと何が問題なのかわかりません。質問に関するソースコードは、できるだけたくさん書き込んで下さい。

一部分だけを抜粋されると、回答しにくい場合があります。できるだけ全体を書き込んでください。

ソースコードが書きかけでも、出来ているところまで見せて下さい。「〇〇を開発したいんですが、やり方がわかりません」という質問も、できているところまで見せてもらえると、アドバイスしやすいです。

ソースコードは、スクリーンショット画像ではなく、テキストで書き込んでください。画像だと、回答のための実験などが難しくなってしまいます。

ソースコードを書き込むときには、ソースコード専用のマークアップを使うと読みやすくなります。次のようにソースコードを ```python 〜 ``` で囲んで書き込んで下さい。

```python
def foo():
    print('hello world')

def bar():
    print('hello world')
```

エラーメッセージは省略しないで下さい

Pythonのエラーが発生している場合は、エラーの一部分だけでなく、エラーメッセージ全体を貼って下さい。エラーメッセージが多すぎて困るということはありません。

Pythonの実行中にエラーが出た場合、次のようなメッセージが出力されると思います。

$ python3 -c 'def foo():
   1/0
foo()'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "<string>", line 1, in foo
ZeroDivisionError: division by zero

このようなエラーが出た場合、ZeroDivisionError の部分だけでなく、エラーメッセージ全体を教えて下さい。

エラーメッセージは、次のように非常に長くなってしまう場合があります。しかし、気にせず書き込んでください。

Internal Server Error: /api/entry/
Traceback (most recent call last):
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/rest_framework/viewsets.py", line 125, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/Users/pythonhp/sb/django/drftest/app1/views.py", line 47, in create
    return super().create(request)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/rest_framework/mixins.py", line 18, in create
    serializer.is_valid(raise_exception=True)
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/rest_framework/serializers.py", line 220, in is_valid
    self._validated_data = self.run_validation(self.initial_data)
  File "/Users/pythonhp/sb/django/drftest/app1/serializers.py", line 18, in run_validation
    data['body'] = SimpleUploadedFile.from_dict({
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/django/http/request.py", line 513, in __setitem__
    self._assert_mutable()
  File "/Users/pythonhp/sb/django/drftest/.venv/lib/python3.9/site-packages/django/http/request.py", line 510, in _assert_mutable
    raise AttributeError("This QueryDict instance is immutable")
AttributeError: This QueryDict instance is immutable

Python以外のエラーも、できるだけ省略せず、エラーメッセージ全体を教えて下さい。

エラーメッセージには、個人の氏名や電話番号など、個人情報に属する情報や企業秘密に該当するデータが含まれている場合があります。そういった情報が含まれる場合は、その部分は伏せ字にしてから書き込んで下さい。

マルチポストはしないでください

複数の掲示板やチャットなどに、同じ質問を投稿することを「マルチポスト」と言います。

「あっちこっちのチャットにたくさん質問を書き込めば、それだけ速く回答が帰ってくるのではないか?」と思って書き込んでしまうことがありますが、これは回答する側からすると大変やる気を削がれるやり方です。せっかく時間をかけて回答を書いても、先によそで回答されていれば、こっちは不要、ということになってしまいます。

しばらくまっても納得できる回答が得られない質問を、別の掲示板などにマルチポストすることは問題ありません。

しかし、その場合でも、質問を書き込んでから数日程度はマルチポストは控え、新しく他の場所で質問するときには「http://~ 〇〇で質問したんですが、」と参考URLを添えてもらえると、より良い回答が得られる確率があがります。

自分の問題が解決しても、書き込んだ内容は削除しないでください

こういうコミュニティは、単に質問に答えるだけが目的ではなく、いろいろな問題を情報を共有することで、参加者が成長することを目的にしています。自分の用事が済んだあとでも、他の参加者が参照できるように、質問を残しておいてください。

Copyright © 2001-2021 python.jp Privacy Policy python_japan
Amazon.co.jpアソシエイト
Amazonで他のPython書籍を検索