LoginSignup
4
2

More than 5 years have passed since last update.

カウントダウンタイマーをツイッターに自動でポストしてみた。

Last updated at Posted at 2016-10-01

元ネタはこちら
割と本気で家庭用Slack Botを作ってみた

普通の機能だけではつまらない。せっかく夫婦で使っているので、夫婦っぽく記念日の情報とか流してみることにしました。

はてなカウンティングでカウントアップを作成し、そのスクリーンショットを撮って切り抜き、Gyazoにアップロードします。

記念日とキリの良い日数のときにお知らせしてくれます。「fukabot 記念日」と言うとすべての記念日情報を教えてくれます

上記のエントリーの中に、夫婦の記念日をお知らせする機能をSlackで実装されていたので、再現してみました。ただ、ぼくは結婚してないので、お正月までの日数をツイッターに投稿してみました(かなしみ)

実行環境

  • mac OSX
  • Python 2.7.1
  • Phantomjs

まず、はてなカウンティングで、カウントダウンタイマーを作成。

pyantomjsで作成したはてなカウンティングのURLから、キャプチャ画像を取得

var page = require('webpage').create();
page.viewportSize = {width: 1024, height: 768};
var url = 'http://counting.hatelabo.jp/count/i9nv7u2esv'
page.open(url, function () {
    window.setTimeout(function () {
        page.render('newyear.png');
        console.log("saved capture");
        phantom.exit();
    }, 200);
});

その画像をImage Magickで加工して、Twitterに投稿している。

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

import json
from requests_oauthlib import OAuth1Session
import os

current_path = os.getcwd()

CK = 'your_key' # Consumer Key
CS = 'your_key' # Consumer Secret
AT = 'your_token' # Access Token
AS = 'your_token' # Accesss Token Secert

url_media = "https://upload.twitter.com/1.1/media/upload.json"
url_text = "https://api.twitter.com/1.1/statuses/update.json"

# OAuth認証 セッションを開始
twitter = OAuth1Session(CK, CS, AT, AS)

# 画像投稿
files = {"media" : open('after.jpg', 'rb')}
req_media = twitter.post(url_media, files = files)

# レスポンスを確認
if req_media.status_code != 200:
    print ("画像アップデート失敗: %s", req_media.text)
    exit()

# Media ID を取得
media_id = json.loads(req_media.text)['media_id']
print ("Media ID: %d" % media_id)

# Media ID を付加してテキストを投稿
params = {'status': 'お正月まで〜', "media_ids": [media_id]}
req_media = twitter.post(url_text, params = params)

# 再びレスポンスを確認
if req_media.status_code != 200:
    print ("テキストアップデート失敗: %s", req_text.text)
    exit()

print ("OK")

それぞれ、実行する。

#!/bin/bash
cd ~/Desktop/capture

#phantom.jsでキャプチャを取得
phantomjs capture.js

#image_magickで画像サイズを変更
convert newyear.png -crop 500x250+100+70 after.jpg

#ツイッターに投稿
python update_image_twitter.py

参考URL

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2