そらのあお(1) 「あお:@aoiro_] はじめの一歩

とりあえず、なんとなく書いてみたのでさらしてみます。こういうのってどこに投稿したらいいんだろう、pythonグループ?人工無脳グループ?or codereposだっけ、そういうところかな。

#!/usr/bin/env python
# coding: utf-8

# Project : Aya
# aoiro v1

# pre-process
import twitter
import random

USERNAME = 'aoiro_'
PASSWORD = 'xxxxxxx'
api = twitter.Api(USERNAME, PASSWORD)

# process (1) : make reply
timeline = api.GetFriendsTimeline()
for post in timeline:
  if post.in_reply_to_status_id:
  # TODO : 誰かへのリプライエントリであった場合の処理
  # TODO : 自分へのリプライエントリであった場合の処理
    continue
  else:
    makeReplyText(post)

# post-process
# TODO : 取得したデータの保存とか

# ######## ######## ######## サブ関数群 ######## ######## ########
# ######## リプライの作成
def makeReplyText(post):
  # ## 初期設定
  entry = post.text
  replyToUID = post.user.screen_name # UserID
  replyToSID = post.id # StatusID

  # ## パターンチェックとリプライ文bodyを考える
  replyBody = []
  # おはよう
  if checkPetternsinEntry(entry, ptrOfOhayo):
    replyBody = makeText(post, repliesOfOhayo)
  # おやすみ
  if checkPetternsinEntry(entry, ptrOfOyasumi):
    replyBody = makeText(post, repliesOfOyasumi)

  if replyBody:
  # リプライ文bodyがあった場合リプライ文を組み立ててリプライする
    replyheader = u'@',+replyToUID + ' '
    replytext = replyheader+replybody
    twitter.PostUpdate(replytext, replyToSID)
    # TODO : 投稿したことを適当に記録
    # registerReply(replytext, replytoSID)

# ######## 文中にパターンを含むかのチェック
def checkPatternsInEntry(entry, ptrs):
  for ptr in ptrs:
    flg = ptr in entry
    if flg:
      break
      # 1個でもパターンを含めばOK

  return flg

# ######## repliesからreplyを一つ選ぶ
def makeReplyTextBody(replies):
  ind = random.randint(1,len(replies))
  ind = ind -1
  reply = replies[ind]

  return reply


# ########### 反応辞書 ##################
# ##### おはようチェックパターン
def ptrOfOhayo():
  petterns = [
    u'おはよ',
    u'オハヨ'
    ]

  return petterns

# ##### おはようリプライ
def repliesOfOhayo():
  replies = [
    u'おはようなの',
    u'おきてーおきてーなの'
    ]

  return replies


# #####  おやすみチェックパターン
def ptrOfOyasumi():
  petterns = [
    u'おやすみ',
    u'寝るよ'
    ]

  return petterns

# #####  おやすみリプライ
def repliesOfOyasumi():
  ME = 'あお'
  replies = [
    u'いっしょにねるなの',
    ME + u'もいっしょにねるなの',
    u'おやすみなの'
    ]

  return replies