私はfbchatライブラリに関する2つの主な質問があります。最初は仮説であり、2番目はコード/関数に基づいています。Python fbchatライブラリの質問
私の最初の質問は、ユーザーがオンラインのときにfbchatに戻ることができますか?私はこのコードを使用する場合:これらのいずれかの措置だった場合、私は思っていた
{u'alternateName': u'', u'name': u'Name', u'firstName': u'Name', u'gender': 2, u'thumbSrc': u'url', u'uri': u'url', u'searchTokens': [u'Name', u'Name'], u'dir': None, u'is_friend': True, u'numbers/letters': number, u'mThumbSrcSmall': None, u'is_nonfriend_messenger_contact': False, u'type': u'friend', u'id': u'number', u'mThumbSrcLarge': None, u'vanity': u'messenger_id'}
:
persons = client.getUsers(name)
for person in persons:
person_info = client.getUserInfo(person.uid)
if person_info['is_friend'] == True:
print person_info
を、私はこの(プライバシーの尊重のうち、一般的なもので、すべての情報を交換し)のような何かを得ますその人がオンラインであったかどうか、またはその方法を確認してください。
2番目の質問は、メッセージの読み取りに関するものです。このコードを使用すると、エラーが表示されます(コードに貼り付けます)。
def check_message():
client = login()
friend = "Name"
last_messages = client.getThreadInfo(client.getUsers(friend)[0].uid, 0)
last_messages.reverse()
for message in last_messages:
print(message.body)
これはエラーです:
Traceback (most recent call last):
File "C:/Users/lukec/PycharmProjects/Sysgen_AI/test.py", line 32, in <module>
check_message()
File "C:/Users/lukec/PycharmProjects/Sysgen_AI/test.py", line 30, in check_message
print(message.body)
AttributeError: Message instance has no attribute 'body'
もfb chat pypi pageがmessage.bodyが存在しないと言う...
、私は最後に.bodyを削除すると、私を得ます代わりにこの出力:
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
<fbchat.models.Message instance at value>
何故でしょうか?私は様々なタスクをカバーする個人のbot/AIを構築しています。
編集: fsocietyの提案、DIR(メッセージ)@使い方は次の値を返します。
あなたは "身体" が立ち上がる見ることができるように。私は今なぜエラーが発生するのかについてもっと混乱しています。また、なぜ最初のもの(person_info)がこのメッセージ(メッセージ)と異なるのですか?私はそれもdictであると期待しています(したがって、キーを呼び出すことができます)。
編集2:以下を使用して、私はエラーを取得:
def check_message():
client = login()
friend = "Name"
last_messages = client.getThreadInfo(client.getUsers(friend)[0].uid, 0)
last_messages.reverse()
for message in last_messages:
print(message['body'])
エラーは次のとおりです。
File "C:/Users/lukec/PycharmProjects/Sysgen_AI/test.py", line 33, in <module>
check_message()
File "C:/Users/lukec/PycharmProjects/Sysgen_AI/test.py", line 31, in check_message
print(message['body'])
AttributeError: Message instance has no attribute '__getitem__'
思考?
編集3:メッセージの印刷他の属性作品だけではない身体...例えば、私はでき
print message.timestamp_datetime
とget:出力として
October 10, 2016 7:16 pm
を。 message.bodyの問題が私またはライブラリであるかどうかは不明です。あなたが考えることができる任意の回避策?
body属性が実際に存在するかどうか確認するためにdir(メッセージ)を試してください。 – fsociety
ありがとう!それが返すものはメインポストに編集されています。 "body"は、dir(メッセージ)を出力すると印刷されるものです。私はdirコマンドについて知らなかった。非常に便利! – TobyTobyo
'print(message.body)'についてどうですか? –