트윗에 DM 버튼 추가

Twitter 친구들에게서 영감을 받아 Direct Message Button을 만드는 방법을 단순화하려고 했습니다.

트위터 DM 버튼이 무엇인가요?



Twitter DM 버튼은 다른 사람들이 귀하에게 DM을 보낼 수 있도록 도와주는 우아한 방법입니다. 기본 콘텐츠를 사용자 정의할 수 있습니다.

그리고 그 효과(모바일 장치에서):



기본 메시지는 "안녕하세요, 🍟

~~~"여기.



트위터 환경(웹이나 모바일 앱 등)에서는 잘 안 되는 것 같은데 클릭하면 원본 트윗을 볼 수 있습니다.

{% 트위터 1386690916694380551 %}

내가 시작한 방법



처음에는 이 버튼의 링크를 분석했습니다.

https://twitter.com/messages/compose?text=hello,%20%F0%9F%8D%9F~~~

&recipient_id=1190406529922416641



쉽게 찾을 수 있는 text= 부분은 기본 메시지를 정의하고 recipient_id=는 트위터 ID(핸들이 아님)입니다.

따라서 ruby에서 이와 같은 링크를 결합하는 것은 어렵지 않습니다.


ruby
def make_permlink(content, twitter_id)
  baselink = "https://twitter.com/messages/compose?"
  greetings = URI.encode content
  "#{baselink}text=#{greetings}&recipient_id=#{twitter_id}"
end


URI.encode 공백을 %20 등으로 변환합니다.

어떻게 끝났는가



나는 이 "위젯"을 공유하기로 결정했고 명백히 공유.rb 파일은 좋은 생각이 아닙니다. 그래서 저는 웹 앱을 작성하기 시작했습니다.

처음에는 Rails를 선택했지만 대포를 사용하여 모기를 때리는 것과 같습니다. 그래서 시간을 내어 다른 웹 프레임워크 Sinatra 를 배워서 사용하고 있습니다.



단순함이 이 간단한 웹 앱에 가장 잘 맞습니다. 이 프로젝트의 핵심 코드를 볼 수 있습니다.


ruby
# twitter.dm.rb

get '/' do
  erb :index
end

post '/' do
  unless params[:handle].empty? or params[:content].empty?
    @permlink = make_permlink params[:content], params[:handle]
  end
  erb :index
end



그리고 보기


erb
# views/index.erb

<% if @permlink %>
  <div>
    Your DM Button's link is:
    <%= escape_html(@permlink) %>
  </div>
<% end %>




레포:

웹 앱: Twitter DM Button

ps: 저는 프론트엔드에 익숙하지 않습니다. 관심 있으신 분들은 pr에 오신 것을 환영합니다 🥺

좋은 웹페이지 즐겨찾기