Groupyを使用して Groupme ボットの作成を開始しようとしています。
これに関連する投稿がいくつかありましたが、それらは技術的に難しい問題のようで、解決策は効率的ではないようで、どれも私が抱えている問題を解決していませんでした.
これが私がこれまでに持っているコードです:
import groupy
token = "{My Token}"
from groupy.client import Client
client = Client.from_token(token)
groups = list(client.groups.list_all())
for group in groups:
print(group)
まず、これが関連しているとは思いませんが、Eclipseでは、そうではないように思えますが、groupyは未使用のインポートであるという警告が表示されます。
さらに重要なことに、私が抱えている問題の奇妙な部分は、上記のコードを編集しなくてもエラー メッセージが変わることです。
私が受け取ったエラー メッセージは次のとおり です。これらのエラー メッセージのそれぞれで、ファイルの場所の先頭を編集しました。
Traceback (most recent call last):
File "\Projects\Eclipse\eclipse-workspace\Gort's Cousin\groupme_bot.py", line 15, in <module>
<Group(name='One of my group's names')>
<Group(name='Another one of my group's names')>
print(group.name)
File "\Python\Python37-32\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 27-28: character maps to <undefined>
そのため、今回はシステムが実際に私が所属しているいくつかのグループを返します。ただし、ある種の Unicode エラーが原因で例外が呼び出されます。
コードを変更せずに、次のエラーも表示されます。
Traceback (most recent call last):
File "\Python\Python37-32\lib\site-packages\groupy\session.py", line 49, in data
return self.json()['response']
File "\Python\Python37-32\lib\site-packages\requests\models.py", line 808, in json
return complexjson.loads(self.text, **kwargs)
File "\Python\Python37-32\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "\Python\Python37-32\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "\Python\Python37-32\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 60865 (char 60864)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "\Eclipse\eclipse-workspace\Gort's Cousin\groupme_bot.py", line 10, in <module>
groups = list(client.groups.list_all())
File "\Python\Python37-32\lib\site-packages\groupy\pagers.py", line 61, in autopage
self.items = self.fetch_next()
File "\Python\Python37-32\lib\site-packages\groupy\pagers.py", line 51, in fetch_next
return self.fetch()
File "\Python\Python37-32\lib\site-packages\groupy\pagers.py", line 42, in fetch
return self.endpoint(**self.params)
File "\Python\Python37-32\lib\site-packages\groupy\api\groups.py", line 21, in _raw_list
return [Group(self, **group) for group in response.data]
File "\Python\Python37-32\lib\site-packages\groupy\session.py", line 51, in data
raise exceptions.InvalidJsonError(self._resp) from e
groupy.exceptions.InvalidJsonError: The JSON was incomplete/invalid
私は間違っている可能性が高いですが、groupy がグループを集約する方法、および/またはそれらの呼び出しを処理するためにプロジェクトをセットアップする方法に問題があるようです。
この問題に関するヘルプは素晴らしいでしょう。
必要に応じて、groupy ライブラリからコードを追加することもできます。
TLDR: Groupy を使用して Python で groupme ボットを作成すると、"UnicodeEncodeError" エラーが発生する