5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

#Slack で使える #Twitter クローンアプリを作ってリリースした話

5
Last updated at Posted at 2022-01-28

先日こんな投稿が #Slack からありました。

なにか作ろうかなと思っていたのですが、これを期に前々から考えていたTwitterクローンを作ることに決めました。
インストールはこちら:https://slaim.lne.st/slack/install
アプリ名はSlaIMです。Slack専用のインスタントメッセージサービスということで、SlaIMと名付けました。

技術

私のQiita記事に何度も出てきていますが、Slackアプリ自体はSlack Bolt for Pythonを基盤にしています。
テンプレはこちらの記事においてあるのでHerokuにデプロイする形ですぐにSlackアプリ開発ができるようになっています。

画面構成

Slack___SlaIM___Leave_a_Nest_Co__ltd_.png

機能面

Twitter同様にpostしたものがタイムラインに流れる機能になってます。
ユーザーのフォローが出来て、フォローしている人のみのタイムラインを見る or 全ての投稿を見るかを選べます。
リプのみ、自分がFavしたもののみを見ることができるとか
文字列検索で投稿やユーザーを検索することが出来ます。
Slack___SlaIM___Leave_a_Nest_Co__ltd____1_個の新しいアイテム.png

投稿されたpostは返信/シェア(いわゆるRT)/コメント付きシェアが出来ます。
Slack___SlaIM___Leave_a_Nest_Co__ltd____1_個の新しいアイテム.png

返信が入るとDMに通知が入ります
Slack___SlaIM___Leave_a_Nest_Co__ltd____1_個の新しいアイテム.png

ハッシュタグを入れると、このような形でメッセージ詳細画面からハッシュタグ関連postを取得することが出来ます。
Slack___SlaIM___Leave_a_Nest_Co__ltd____1_個の新しいアイテム.png

みたいな形で、ざっくりとTwitterの機能面をクローンしてみました。

工夫した点

投稿は、SlaIMアプリのDM欄からメッセージ投稿することで行います。
Slack___SlaIM___Leave_a_Nest_Co__ltd____1_個の新しいアイテム.png

画像投稿もできるようになっています。

Slackアプリからは画像等のファイルアップロードは出来ない

入力フォームに画像アップロード用の機能を実装することは出来ません。
ファイルURLを記入してそこからファイルを取得しにいってアップするというのは可能ですが、ユーザビリティ的には無理筋でしょう。
そのため、今回はDMに添付された画像をDLし、Pythonのboto3を使ってAWS S3にアップするようなフローにしました。
アップロード時に取得したURLを、Block Kitのimageブロックを使って表示しています。

Slack___SlaIM___Leave_a_Nest_Co__ltd____1_個の新しいアイテム.png

通知系が実は重要な気がする

メンション時にはDM通知が入るようにしてあるのですが、例えばフォロー時とかRTといったタイミングでも通知を入れたほうがそれっぽくなるような気がします。これについては今後の実装ということで。

実際に作ってみると、Twitterも色々な工夫がされているなと感じます。
今後もアプデしていきますので、よろしければインストールして使ってみてください。

インストールはこちら:https://slaim.lne.st/slack/install

最後の砦

ハッカソンには動画エントリーが必要なんだけど、これを作るのが大変ですよね・・・

既存の課題

・アプリを再インストールすると、SlaIMユーザーとの紐付けが解除されてしまい、既存ユーザーと紐付ける仕組みがない
・リプライ画面から画像を追加することが出来ないのをどうしようかは今の所解がない
・フォロー/フォロワー画面が無い

5
4
3

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
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?