aihime-tweet's People
aihime-tweet's Issues
ログを記録する
今後トラブったときのために用意する。
Discordへの投稿をループ処理
殴り書きのメモ。
見方を変える。
discordのAPIのon_ready関数の中で
twitterのAPIを叩くなどする。
Twitter APIの使用回数を減らしたい。
概要
動きを観察していると、自分のツイートを自分でリツイートしているケースがあるっぽい。
元ツイートが自分 & リツイート ならば 保存してあるものを取ってくればいいかなと思う。
営業ツイートを表示しない
概要
フォローされたとき、してくれた人に対してメンションをつけて投稿している。
そういったツイートを表示しないようにする。
実現方法
メンションタイムライン(?)といったAPIがあるが、それはどうやら
メンションを飛ばされた人をひとまとまりにするようなので、それは使えない。
今までの傾向から言うとツイートのうち@
ではじまるものを除けば良さそう。
制限事項
@
で始まらない営業ツイートがあったらそれは、すり抜ける。
営業ツイート or not みたいな機械学習でも走らせる?
サーバレス化
概要
最初のものは、サーバ作って例えばcronで動かすようなつくりになっている。
時流に合わせて、例えばAWS lambdaに起動のトリガーを引いてもらうとか。
調査すること
- 起動のタイミングを指示する方法
- 設定どこに置くか?
過去差分の取得のしかた
概要
過去に見に行った時の最後の投稿と今取得したものが
どの程度ずれているのか確認して、どのツイートを新しくDiscordに送ればいいか決める。
実現方法など
- 直近にtweetを確認したときの最新のツイートのIDと投稿された年月日を保存しておく
- 1よりも新しいtweetを抽出する。
- 2で抽出したものが1件以上あったとき、一件づつDiscordに送信する。
- referenced_tweetsで、ツイート、引用リツイート、リプライなのか判断することができるので
まずは、リプライは排除する。 - ほかは?
- referenced_tweetsで、ツイート、引用リツイート、リプライなのか判断することができるので
- 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などが必要になったら移行するなどする。
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.