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

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

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

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

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

Q&A

解決済

2回答

453閲覧

ラズパイからtwitterにつぶやく際バイト型になる

nonoo

総合スコア3

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

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

0グッド

0クリップ

投稿2019/08/15 15:21

事象

pythonを習ったのでtwitterでガチャbotをつくろうとしています。
ラズパイからtwitterにつぶやいた際、文字がバイト型になってしまいました。
どのようにしたらよいか教えていただけないでしょうか。
よろしくお願いします。

該当のソースコード

#-*- conding: utf-8 -*- import tweepy import random import schedule import time name = {} Consumer_key = '' Consumer_secret = '' Access_token = '' Access_secret = '' auth = tweepy.OAuthHandler(Consumer_key, Consumer_secret) auth.set_access_token(Access_token, Access_secret) api = tweepy.API(auth) def job(): for i in range(1,4): s = random.randint(1,100) if s == 1: name[i] = "☆5サバ" if (1 < s <=5): name[i] = "☆5概念" if (5 < s <=8): name[i] = "☆4サバ" if (8 < s <=20): name[i] = "☆4概念" if (20 < s <=60): name[i] = "☆3サバ" if (60 < s <=100): name[i] = "☆3概念" api.update_status(name) schedule.every(1).minutes.do(job) while True: schedule.run_pending() time.sleep(1)

結果

{1: '\xe2\x98\x863\xe6\xa6\x82\xe5\xbf\xb5', 2: '\xe2\x98\x865\xe6\xa6\x82\xe5\xbf\xb5', 3: '\xe2\x98\x863\xe6\xa6\x82\xe5\xbf\xb5'}

試したこと

nemeにdecode()をつけたりし、バイト型を文字列に直そうとしましたができませんでした。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

python

1def job(): 2 for i in range(1,4): 3 s = random.randint(1,100) 4 if s == 1: 5 name[i] = "☆5サバ" 6 if (1 < s <=5): 7 name[i] = "☆5概念" 8 if (5 < s <=8): 9 name[i] = "☆4サバ" 10 if (8 < s <=20): 11 name[i] = "☆4概念" 12 if (20 < s <=60): 13 name[i] = "☆3サバ" 14 if (60 < s <=100): 15 name[i] = "☆3概念" 16 name = "".join(name) 17 api.update_status(name) 18

で文字列にすればいいのではないでしょうか。

投稿2019/08/15 21:15

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

nonoo

2019/08/19 10:15

joinを教えていただきありがとうございます。 それを付け加えた上、辞書型ではなくリスト型に変更したらうまくできました。
guest

0

API.update_status(status)のstatusは「 The text of your status update.」とあります。
http://docs.tweepy.org/en/v3.5.0/api.html

辞書ではなく文字列にすれば良いのではないでしょうか。

投稿2019/08/15 15:47

meg_

総合スコア10602

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

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

nonoo

2019/08/19 10:16

文字列の考え、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問