はぴぞう君でTweepy自動リプライ(V2)する内容をほんのちょっとだけ賢くしてみた
はぴぞう君(@haptweepy)に何か話しかけたら返事をするようになった。
Twitterで、自動リプライ(V2)したくなったので、Python+tweepyでやってみた。 – happyman web
AIなんぞ入れてみたいなあなんて思っては居ない。LIVA君ではたぶん動かない。
まあそう言うわけで少し賢くしてみようということで、いろいろ遊んでみた。
1.ランダムに返事させよう
元々入っていたんですが、忘れてしまいそうだったので、記録しておく。
ランダムに言葉を選ばせるには、randamをインポートして、下記のコードを書く。
import random
~
# いま何時?と聞かれたら、%Sを返す。%Sの中身は、random.Choiceで括ってやる。
if "いま何時?" in text_list:
text = '%s' % random.choice(['そうね だいたいね', 'ちょっと待ってて オー', 'まーだ はやい', 'え?', 'らーらーらーららら らーらーら','時計を見てね','とーきーをかけるおじさん'])
ただし文字列だけで、時間を返す言葉をランダムに入れておくには、参照するコードをあれこれやらないとダメみたい。まだよく解っていない。
2.言葉を分岐させて違う返事をさせてみる。
Streamに負担をかけるようですが、聞く言葉を「if」で条件分岐して、違う返事を選ぶ事ができる。
#いま何時?と聞かれたら
if "いま何時?" in text_list:
text = '%s' % random.choice(['そうね だいたいね', 'ちょっと待ってて オー', 'まーだ はやい', 'え?', 'らーらーらーららら らーらーら','時計を見てね','とーきーをかけるおじさん'])
#今何時?ときかれたら
elif "今何時?" in text_list:
# 時刻を取得
datetime_dat = datetime.now()
time_str = datetime_dat.strftime('%H:%M')
text = "窓際おじさんのはぴぞうがだいたい"+time_str+"をお知らせします。"
# 違ったら
else:
return
こんなコードで良いみたい。
3.時間を聞いてみたら答えさせてみよう
もう全部書いてしまったのですが、完成させた少し返事が出来るようになったコードがこれ。
import tweepy
import json
from pprint import pprint
from datetime import datetime
import random
# API情報を記入
Bearer_Token=''
consumer_key=''
consumer_secret=''
ACCESS_TOKEN=''
ACCESS_TOKEN_SECRET=''
# クライアント関数を作成
Client=tweepy.Client(
bearer_token="",
consumer_key="",
consumer_secret="",
access_token="",
access_token_secret="",
)
class ClientProcess(tweepy.StreamingClient):
def on_data(self, raw_data):
response = json.loads(raw_data)
# ツイートidを取得する
tweet_id = response["data"]["id"]
# ツイートの文章を取得する
reply_text: str = response["data"]["text"]
# 文章を空白で分割する
text_list = reply_text.split()
# いま何時?と聞かれたら
if "いま何時?" in text_list:
text = '%s' % random.choice(['そうね だいたいね', 'ちょっと待ってて オー', 'まーだ はやい', 'え?', 'らーらーらーららら らーらーら','時計を見てね','とーきーをかけるおじさん'])
elif "今何時?" in text_list:
# 時刻を取得
datetime_dat = datetime.now()
time_str = datetime_dat.strftime('%H:%M')
text = "窓際おじさんのはぴぞうがだいたい"+time_str+"をお知らせします。"
# 違ったら
else:
return
Client.create_tweet(
text=text,
in_reply_to_tweet_id=tweet_id
)
return
printer = ClientProcess(Bearer_Token)
printer.add_rules(tweepy.StreamRule("to:スクリーンネーム"))
printer.filter()
少し賢くなった。
Amazon Mastercard (アマゾン マスターカード) 最大2%ポイント還元
¥1入会ポイント 2,000ポイント以上付与
(2024年11月21日 22:54 GMT +09:00 時点 - 詳細はこちら商品価格と取扱状況は記載された日時の時点で正確で、また常に変動します。Amazon のサイトに表示された価格と取扱状況の情報は、この商品が購入されたその時のものが適用されます。)
東洋アルミ(Toyo Aluminium) 換気扇 フィルター 整流板 貼るだけ 切り取りミシン目付き 約64cm×91cm 1枚入 フィルたん S3074
原産国:日本 本体重量:約65g 枚数:1枚入り 付属品:落下防止面ファスナー1シート(4個入)、取付補助磁石2個入 材質:難燃性不織布 商品サイズ:約64x91x1cm ミシン目が入っているので、サイズ調整が簡単に行えます。 ●粘着加工でシールみたいに手軽に取付できる、キッチンの換気扇フィルターです。整流板付レンジフード専用。幅60cm~90cmの整流板付き換気扇に対応しています。給油量約2倍の厚手フィルターで油汚れをしっかりキャッチしお掃除の負担を軽減します。交換お知らせサイン付きで交換時期... もっと読む
(2024年11月22日 01:17 GMT +09:00 時点 - 詳細はこちら商品価格と取扱状況は記載された日時の時点で正確で、また常に変動します。Amazon のサイトに表示された価格と取扱状況の情報は、この商品が購入されたその時のものが適用されます。)
サンワサプライ 電源延長コード 2m トラッキング火災予防絶縁キャップ付きスイングプラグ TAP-EX2102 ホワイト
¥830タップや機器の電源延長に便利。トラッキング火災防止絶縁キャップ付スイングプラグ採用の延長コード ACアダプタの電源延長に便利です。 トラッキング火災を予防できる絶縁キャップ付スイングプラグを採用しています。 PSE(電気用品安全法)技術基準適合品でトラッキング対策適用範囲拡大対応です。(耐トラッキング性試験、グローワイヤ燃焼性試験認可) RoHS指令に対応した製品です。 【定格容量】:15A・125V(1500Wまで) 【プラグ仕様】:2Pオス(絶縁キャップ付きスイングプラグ)・2Pメス 【電源... もっと読む
(2024年11月21日 23:01 GMT +09:00 時点 - 詳細はこちら商品価格と取扱状況は記載された日時の時点で正確で、また常に変動します。Amazon のサイトに表示された価格と取扱状況の情報は、この商品が購入されたその時のものが適用されます。)
ディスカッション
コメント一覧
まだ、コメントがありません