[RUBY] Band 1, in dem Sie Ihren Lieblings-SCANDAL LINE-Bot erstellen möchten

Der Bot, den du machen willst

Ein Bot, der jeden Tag zufällig zu einer festgelegten Zeit SCANDAL MVs sendet

Konzept in meinem Kopf dafür (erstellt mit Schienen)

  1. Machen Sie zuerst etwas, das sich im WEB bewegt
  2. Machen Sie es zu einem LINEbot
  3. Fügen Sie von dort aus Funktionen hinzu (wenn Sie beispielsweise mit ACIDMAN und LINE senden, werden ACIDMAN-Songs zufällig zurückgegeben).

Was ich vorerst konnte

  1. Machen Sie zuerst etwas, das sich im WEB bewegt

Artikel, auf die verwiesen wird

Ich habe auf die YouTube Data API-Referenz verwiesen, die auf dem Qiita-Artikel basiert.

Qiita https://qiita.com/sakakinn/items/46c0d4945e4646f346f6

YouTube Data API https://developers.google.com/youtube/v3/docs?hl=ja

Code

index.html.erb


<% number = 0 %>
<% ran = rand(1..11) %>
<% @youtube_data.items.each do |item| %>
  <% number = number + 1 %>
  <% if number == ran %>
   <% snippet = item.snippet %>
   <p><%= snippet.title %></p>
   <p><%= snippet.published_at %><%= snippet.channel_title %></p>
   <div><iframe width="560" height="315" src="https://www.youtube.com/embed/<%= item.id.video_id %>" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
  <% end %>
<% end %>

youtube_controller.rb


class YoutubeController < ApplicationController
  def find_videos(keyword)
    service = Google::Apis::YoutubeV3::YouTubeService.new
    service.key = ENV["YOUTUBEKEY"]

    next_page_token = nil
    opt = {
      q: keyword,
      type: 'video',
      channel_id: 'UCSNX8VGaawLFG_bAZuMyQ3Q',
      max_results: 11,
      order: :date,
      page_token: next_page_token
    }
    service.list_searches(:snippet, opt)
  end

  def index
    @youtube_data = find_videos('SCANDAL')
  end
end

Ausgabeergebnis ↓ https://twitter.com/pompom06yutoz/status/1273869183491559425?s=21

Herausforderungen, die wir jetzt kennen

  1. Da ich in View auf 11 Daten zugreife, möchte ich diese entfernen und nur eine Daten zufällig aus dem Kanal abrufen. (Hilf mir ~ ww)
  2. Wenn es so bleibt wie es ist, wird der Kanal fixiert (einmal durch)

Was macht man als nächstes

Versuchen Sie vorerst, dies als LINE-Bot zu verwenden, und denken Sie darüber nach, wenn ein Problem auftritt.

Schließlich

Es ist ungefähr 4 Monate her, seit ich angefangen habe, Programmieren zu lernen, und ich genieße es so sehr. Wenn Sie gute Alternativen haben, können Sie diese gerne kommentieren. Wenn Sie SCANDAL mögen, tun Sie dies bitte auch. Fortsetzung folgt

Recommended Posts

Band 1, in dem Sie Ihren Lieblings-SCANDAL LINE-Bot erstellen möchten
Einfacher LINE BOT mit Java Servlet
Erstellen Sie in Docker Ihre eigene Tastatur-QMK. Für Windows einzigartiges Volume
Einfach, Slack Bot mit Java zu machen
Wie erstelle ich einen Discord Bot (Java)
[LINE @] Ich habe versucht, einen westlichen Kalender für einen japanischen Kalender zu konvertieren. BOT [Messaging API]