はじめに
サーバー管理無しでBotが作れないかやってみました
結果上手く動かすことができたのでなにか参考になれば幸いです。
用意するもの
- Googleアカウント
- ちょっとの根気
Botを作っていく
1.BotにしたいアカウントでAPIキーを発行する
設定の中のAPIボタンから発行します。
権限がないと操作できない!ということが起こるので、今回は「すべて有効にする」を選択しました。
チャックマークを押すとキーが発行されるので、しっかりメモして保管します。
2.GASを用意しよう
↑にアクセスして早速空のプロジェクトを作ります。
ここでGoogleアカウントが必要になるのでログインしてくださいね。
3.テストノートしてみよう
公式のドキュメントに詳しく書かれてますが、難しいのでシンプルなコードを書いてみます。
//TLに投稿する関数
function TLPost() {
let postURL = "https://投稿したいサーバーURL/api/notes/create"
var headers = {"Content-Type": "application/json",}
var data = {
"method": "post",
"headers": headers,
'payload': JSON.stringify({
"i" : "ここにAPIキー",
"text": "ここに投稿したい文章"
})
}
let responses = UrlFetchApp.fetch(postURL,data)//リクエスト
}
書き終わったら実行してみましょう。
警告が出てびっくりすると思いますが自分の書いたプログラムなので安心してください。
ちなみに警告は初回だけで、以降は認証しなくても動いてくれます。
4.応用する
応用すればランダムな投稿をさせることもできます
//ランダムなノートをする
function RandomNote() {
let massage = []
let rand = Math.random() //サイコロを用意する
rand = Math.floor(rand*3) //3面ダイスにする
//会話のパターン
massage[0] = "パターン1"
massage[1] = "パターン2"
massage[2] = "パターン3"
let postURL = "https://投稿したいサーバーURL/api/notes/create"
var headers = {"Content-Type": "application/json",}
var data = {
"method": "post",
"headers": headers,
'payload': JSON.stringify({
"i" : "ここにAPIキー",
"text": massage[rand] //用意したどれかの文章になる!!
})
}
let responses = UrlFetchApp.fetch(postURL,data)//リクエスト
}
5.定期的にノートしてもらう
①にランダムノートの関数を選んで、②でどのくらいの間隔でノートするかを選べます。
あまりサーバーに負担をかけないように注意してくださいね。
おしまい
お疲れ様でした!これでランダムにつぶやくBotが作れました!
公式ドキュメントから確認できるのでお好みでカスタマイズしてみてください。
では良きMisskeyライフを~~!!