J'ai pensé que ce serait pratique s'il y avait un BOT qui m'informerait de l'enlèvement des ordures chaque matin. Je l'ai fait après mes études.
Ruby Ruby On Rails6 Heroku LINE Messager API
Je vais omettre cela parce que d'autres personnes l'ont publié en détail.
Article de référence
https://qiita.com/y428_b/items/d2b1a376f5900aea30dc
https://qiita.com/natsukingdom-yamaguchi/items/e84dffdd90d7f5ef8224
Ajoutez une tâche et envoyez un message à une heure fixe.
Créer une tâche
$rails g task reminder_task
Puis générez un contrôleur
$rails g controller webhook trash
lib/tasks/reminder_task.rake
namespace :reminder_task do
desc "Le sujet de la tâche ici"
task :trash => :environment do
webhook = WebhookController.new
puts webhook.trash
end
end
app/controllers/webhook_controller.rb
def trash
puts "message"
end
Vérifiez s'il est ajouté à la tâche de râteau ici
$ rake -T
rake reminder_task:thème de la tâche corbeille
Si vous pouvez confirmer qu'il a été ajouté
$ rake reminder_task:trash
OK lorsque [Message] est envoyé
Si vous souhaitez utiliser des messages PUSH, vous devez définir des variables d'environnement.
Voir ci-dessous pour les variables d'environnement. https://qiita.com/yuichir43705457/items/7cfcae6546876086b849 https://qiita.com/noraworld/items/bfa80811c9e30b4474af
Méthode de réglage
Ajouter dotenv à la gemme
gem 'dotenv-rails'
Créer un fichier .env dans le répertoire racine du répertoire de l'application (Créé là où il y a une application ou un gemfile)
Définir divers canaux LINE
/.env
LINE_CHANNEL_SECRET='xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
LINE_CHANNEL_TOKEN='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
LINE_USER_ID='zzzzzzzzzzzzzzzzzzzzzz'
app/controller/webhook_controller.rb
class WebhookController < ApplicationController
require 'line/bot'
def trash
message = {
"type": "text",
"text": WebhookController.contents
}
client = Line::Bot::Client.new { |config|
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
}
response = client.push_message(ENV["LINE_USER_ID"], message)
end
def self.contents
date = Date.today
case date.strftime('%a')
when "Mon"
"Aujourd'hui, c'est lundi, jour des déchets brûlants!"
when "Tue"
"Aucun!"
when "Wed"
"Aujourd'hui, c'est mercredi, jour des ordures et du carton incombustibles"
when "Thu"
"Aujourd'hui, c'est jeudi, un jour normal des ordures!"
when "Fri"
"Aujourd'hui, c'est vendredi, jour des canettes, des bouteilles et des bouteilles en PET!"
when "Sat"
"Fatigué depuis une semaine! Aucun aujourd'hui!"
else
""
end
end
end
Poussez sur Heroku et configurez un planificateur et vous devriez recevoir un message.
Le service que vous avez fait pour la première fois après avoir étudié le rubis? Par conséquent, il semble qu'il y ait de nombreuses erreurs. Dans ce cas, je vous serais reconnaissant de bien vouloir le signaler!
(Merci pour les articles de référence.)
Recommended Posts