Giter Site home page Giter Site logo

aihime-tweet's People

Contributors

tomosato avatar

Watchers

 avatar

aihime-tweet's Issues

Twitter APIの使用回数を減らしたい。

概要

動きを観察していると、自分のツイートを自分でリツイートしているケースがあるっぽい。

元ツイートが自分 & リツイート ならば  保存してあるものを取ってくればいいかなと思う。

営業ツイートを表示しない

概要

フォローされたとき、してくれた人に対してメンションをつけて投稿している。

そういったツイートを表示しないようにする。

実現方法

メンションタイムライン(?)といったAPIがあるが、それはどうやら

メンションを飛ばされた人をひとまとまりにするようなので、それは使えない。

今までの傾向から言うとツイートのうち@ ではじまるものを除けば良さそう。

制限事項

@ で始まらない営業ツイートがあったらそれは、すり抜ける。

営業ツイート or not みたいな機械学習でも走らせる?

サーバレス化

概要

最初のものは、サーバ作って例えばcronで動かすようなつくりになっている。

時流に合わせて、例えばAWS lambdaに起動のトリガーを引いてもらうとか。

調査すること

  • 起動のタイミングを指示する方法
  • 設定どこに置くか?

過去差分の取得のしかた

概要

過去に見に行った時の最後の投稿と今取得したものが

どの程度ずれているのか確認して、どのツイートを新しくDiscordに送ればいいか決める。

実現方法など

  1. 直近にtweetを確認したときの最新のツイートのIDと投稿された年月日を保存しておく
  2. 1よりも新しいtweetを抽出する。
  3. 2で抽出したものが1件以上あったとき、一件づつDiscordに送信する。
    1. referenced_tweetsで、ツイート、引用リツイート、リプライなのか判断することができるので
      まずは、リプライは排除する。
    2. ほかは?
  4. 3が実行されたかにかかわらず、今回取得したtweetのなかで最新のIDと投稿の年月日時分秒を保存して終わる。

懸念事項

前にかいた、抽出したものが大量にあったとき

次のバッチの実行まで一連の動作が終わってなかったときどうするか?

ここは単純に、起動したときにlockファイルを作って、別の処理が上がらないようにする。

設定の持ち方とか

概要

トークンの情報やらなんやらいろいろ持ってないといけない

実現方法など

configure.json をmainになるスクリプトと同じ場所に置いておく。

なかみはこんなのを考えてる。

{
    "twitter_api_key":"",
    "twitter_api_key_secret": "",
    "twitter_bearer_token": "",
    "twitter_access_token": "",
    "twitter_access_token_secret": "",
    "twitter_id": 数字でID,
    "discord_bot_token" : ""
}

同じツイートを表示させないようにする

概要

基本的にはほとんどリプライだとかでなければ表示させるようにしている。

複数同じツイート(ツイートIDが同じ)ものがあっても、表示対象にしてしまっている。

過去に同じツイートIDのものが来た時に、そのツイートを表示しないようにする。

実現方法

過去のツイートのIDをどこかに保存しておかなければならない。

現状、ファイルに保存すればいいが、ファイルサイズがそれなりになってくると

検索などに時間がかかってしまうといった懸念がある。

そのため、ツイートIDはDBに保存する。

SQLiteを作っておくようにする。

本格的にMySQLなどが必要になったら移行するなどする。

https://zenn.dev/m_kawaguchi/articles/00fd650010edb0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.