Language

  • 日本語
  • English
  • 简体中文
  • 繁體中文
  • 한국어

Translated by machine

投稿記事

無料プランの記事(12)

nzws (ねじわさ)

nzws (ねじわさ) 2019年04月11日 21:52

LINE Botを初めて作ってみた話

お久しぶりです。先月は全く更新できなかった事を後悔しているねじわさと申します。
こういったのは習慣をつけていかないとダメですね。

という訳で、今回はPHPを用いてLINE Botを作ってみた時のお話を書いていこうと思います。

なぜ作ろうと思ったのか

まあ詳しく話すとアレなので簡単にまとめると、LINEをPCに入れると色々面倒だけど、PCで通知を受け取りたいので、LINEグループのトークに誰かが投稿したらDiscordに通知が行くようにするBotを作って欲しいみたいな事言われたので作りました。

実際にこんな感じに動かしています:
(アイコンと名前を隠しているので分かりづらいですが、実際のLINEアカウントに設定されているアイコンと名前がDiscordでも引用されています)

仕組み

仕組みといってもそんな難しい事はしていなくて、
また公式で LINE SDK for PHP を用意してくださっているので、

  • テキストをwebhookで受信したら
  • アカウント情報を取得して
  • まとめてDiscordにバーーン!!

とかいう適当設計だけど動いてくれてます。
(一応ソースコードをGitHubに上げています: https://github.com/yuzulabo/line-to-discord-bot/blob/master/public/receiver.php)

また、このBotは受信専用で、なおかつプライベート利用なので、Developer Trialかフリープランでも十分動きます。

躓いた点

アカウント情報を取得の時、最初は getProfile([userId]) というのを使用していたのですが、
どうやらこれは Botと友達登録していないと閲覧できない という仕様らしく、
友達を巻き込んでテストした時に自分だけ名前出てるのに他の人はでない...?という現象に悩まされていました。

そのため、グループを使用するBotは getGroupMemberProfile([groupId], [userId]) を使用すると上手くいきます。

(これ: https://github.com/yuzulabo/line-to-discord-bot/commit/2a17ae86068636a060730f7515a4e464889f27bd)

さいごに

現状テキストのみなので、時間があったりしたら画像送信とかもやってみたいです。
あと先月サボってすみませんでしたッ!!!!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

\いいね・ツイートで記事ランキングアップ!/
ツイート
nzws (ねじわさ)

nzws (ねじわさ) 2019年02月10日 13:02

雑記: ドメイン移管を初めてやってみた話

どうもどうも、絶賛テスト期間中のねじわさと申します。

私が個人的に所有するnzws.meがそろそろ一年経ち更新まであと少しとなったため、どうせだったら、と海外の怪しいけどめちゃくちゃ安いレジストラに移管してみたお話です。

そもそも「移管」ってなんぞ

まず、ドメインは「レジストラ」という会社で購入をします。(例えば、お名前.comなどが有名でしょうか)
会社によって、購入手数料が違ったり、受けれるサービスが異なるのですが、それらに対し不満を持ったりする場合にドメインの権利を持ったまま他のレジストラ会社に移る事ができます。
それを「移管」と呼びます。

どこからどこに移管したの?

元々、日本の会社GMOインターネット株式会社が運営する(多分)安心安全のバリュードメインという所でドメインを購入していました。

ですが、バリュードメインとは言ってもちょいマイナーなドメインになると高かったりするため、今回友達に教えてもらったnamesiloという海外レジストラに移管しました。結構安いし普通に使えたので普通に良かったです。

手順とか

  • まず、移管するにあたりWhoisガードサービスを剥がさないといけないので剥がします。
    これにより私の個人情報が全部公開されるので何気にこれが一番怖いんですよね...

    Whoisとは: WHOIS(フーイズ)とは、インターネット上でのドメイン名・IPアドレス・Autonomous System (AS) 番号の所有者を検索するためのプロトコル。
    WHOISシステムは、システム管理者が、自分の管理下にないIPアドレスやドメイン名の管理者と連絡をとるための、いわば電話帳のような役割を果たすことを目的として始まった。クエリに対して返ってきたレスポンスデータの使われ方は、利他的な用途(たとえば電子商取引用https認証局)や邪悪な用途(たとえば大量かつ勝手に送りつけられてくる電子メール広告)に対処するために進化してきた。
    https://ja.wikipedia.org/wiki/WHOIS より引用

要するにWebサイト管理者の名簿データベースです(誰でも簡単に照会できます)。ドメインを購入する際に必ず登録しないといけないのですが、例えば私のように匿名で活動したい人は公開したくないでしょう。
そこで、Whoisガードサービス(またはWhois代理公開など、レジストラによって言い方が異なる)という、サイト管理者(ここでは私)に代わってレジストラ会社の情報を載せてくれる物があるのです。
(もちろんサイトを使って悪い事をするとレジストラ会社に開示請求が行きサイト管理者の情報が開示されるのでその用途には使えないよ)

その優れものなのですが、ドメインを移管する時は何故か自分の情報にしないといけないらしいです。(分からん)

  • ドメインロックを解除します。
  • 次に、「このドメインは俺のだぞ」と次からお世話になるレジストラに証明するために、前のレジストラから「認証鍵」を貰ってきます。
    まあここらへんは分かりやすい所に書いてあるのでサクッと貰っていきましょう。

  • お世話になるレジストラで申し込みをします。
    その際に認証鍵が必要になります。

  • 両方のレジストラから色々メールが来るので、全部のメールに目を通して承認します。


    こんな感じで全部英語だったりするメールがポンポン来ますが、落ち着いてメール内にあるURLをクリックして承認すれば多分大丈夫です。

まあそんなこんなで時間が経つと気がついたら移管完了してます。
割とサクッといけました。

最後に

急ぎ足で書いたので内容薄いです!ごめんなさい。
あとなんかここからnamesiloでドメイン購入すると私に10%入るとかなんとからしいのでぜひぜひ...

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

\いいね・ツイートで記事ランキングアップ!/
ツイート
nzws (ねじわさ)

nzws (ねじわさ) 2019年02月03日 09:51

開発日誌: KnzkLive - アイテムを実装した

またまた今回も書いていきます。
そろそろKnzkLiveじゃなくて別のことやるかもしれない...

前回記事~2019/02/03までの差分はこちら
二週間で 2,322 additions and 812 deletions だそうです。

アイテムを実装した

ついにアイテム機能を実装しました!!!


(99万ポイントなのは単純に検証用サーバーです)

絵文字投下だと例えば「配信者のアイコン」「左から右」「100個」「回転あり」の場合、こんな感じになります。やばいですね。

KnzkLiveのアイコンができた

@Xiltvs に作ってもらいました。プレイヤーのウォーターマークなどにも使用されます。

センシティブモードを追加した

なんかちょっとやばめな配信をする時にはセンシティブを有効にすると、リスナーに警告が表示されます。(いわゆるNSFWのような状態)

なお、配信中に有効化した場合でも一旦全員のプレイヤーが停止されこのポップアップが表示されます。

NGワード, ユーザーブロック機能を追加した(配信者向け)

コメントでのNGワードや、配信者が強制退出を行えるユーザーブロック機能を追加しました。
大変でした。(そんだけ)

さいごに

現状KnzkLiveの配信サーバーはGCPの無料枠を使用している、というのは前言ったのですが、もう3分の1消費してしまったのでちょっと焦りだしてます。
クレジットが切れた時の移転先サーバーはVultrあたりを予定しています。安いし普通にパワーあるので学生の強い味方ですね。

あと......


学年末テストまであと二週間やん

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

\いいね・ツイートで記事ランキングアップ!/
ツイート
nzws (ねじわさ)

nzws (ねじわさ) 2019年01月22日 06:24

開発日誌: KnzkLive - KnzkPointを実装した

今回もKnzkLiveのアップデートについて書いていきます。

KnzkPointを実装した

まあタイトルの通りなのですが、前回言っていた「ポイントシステム」を追加しました。

現在、KnzkLiveのログインユーザー全員に100ポイントプレゼントしてるのでぜひどうぞ。
基本的なポイントの取得方法としては、1公開トゥートあたり2ポイントという感じで貰えます。ただ、Twitterアカウントのユーザーは対象外なのでどうしようか検討中だったり...

現状の仕様としては、ユーザー間で投げ合うポイントとしてしか使い道ありませんが、今後のアップデートで配信アイテム投下などなどできるようにしていくつもりです。

あと、これに合わせて @TIPKnzk アカウントを稼働開始しました。
https://knzk.me/@TIPKnzk

@tipknzk tip @Knzk 100

と投稿すると、@Knzkに100ポイントを渡せる、みたいな感じでKnzkPointを簡単に投げられるアカウントです。
ネタがあれば今後も機能追加していくのでぜひ。

最後に

今年のゴールデンウィークちょっと楽しみな事があったりするので待ち遠しいです。
学年末テスト?なにそれ美味しいの?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

\いいね・ツイートで記事ランキングアップ!/
ツイート
nzws (ねじわさ)

nzws (ねじわさ) 2019年01月17日 18:23

開発日誌: KnzkLive & あけましておめでとうございます(17日遅れ)

あけましておめでとうございます (17日遅れ)

お久しぶりです。今年もよろしくお願いいたします。(殴

どうでもいいこと

Macbook Air届いたー!!!

本題

今回はKnzkLiveの最近のアップデートについて書いていきます。Creating.Socialの開発は一旦お休み中です。

KnzkLiveについてはこちらを御覧ください。
https://ci-en.net/creator/2092/article/23720

1. 投票機能を追加した


配信者が自由に設定できる投票機能を追加しました。ユーザーはコメント欄の上から投票できます。また、配信者のアカウントからMastodonに投票開始・結果を投稿する事ができます。


配信者は投票期間中は人数のみが分かり、投票締切するまではどうなっているのか分からないようになっています。


投票結果は自動的にコメントされます。投票開始時に設定すればMastodonにも投稿されます。

2. ワイドビュー機能を追加した


「ワイドビュー」は、全画面表示とは少し異なる表示方法です。
全画面表示では表示されないコメント欄が表示されます。
また、全画面表示はディスプレイに固定されますが、ワイドビューではブラウザの枠に固定されます。(ワイドビューを有効にした後にブラウザを全画面にする事でディスプレイに固定する事も可能です)

ワイドビュー自体はブラウザのFullscreen APIではなく、CSSでゴリ押ししているだけなのでブラウザによって使用できないなんて事も(多分)ありません。

3. Twitterログイン・コメントに対応した


ログイン方法にTwitterを追加しました。Twitterでログインすると、コメントをTwitterIDで投稿できたり、コメントと同時投稿でツイートする事ができます。

Mastodonログインとの相違点としては、Mastodonではハッシュタグをつけた全ての投稿がコメント欄に表示されますが、Twitterではハッシュタグをつけた投稿は読み込まれず、あくまでKnzkLive上で書いたコメントのみ読み込まれます。
また、TwitterへのツイートはMastodonとは異なりサーバーを経由するため、レートリミットを他のKnzkLiveユーザーと共有します。そのため、制限に達するのが早いかもしれません。

4. コメントのカウンター・統計を追加した



地味に面倒だった内容です。
というのも、前の記事で書いたように、Mastodonに投稿したコメントはクライアント側で全て読み書きするため、サーバーサイドでは誰がどのくらいMastodonに投稿しつつコメントしたというのが把握できないためです。
そのため、NodeでKnzk.meの連合タイムラインをチェックし、特定ハッシュタグが含まれた投稿を見つけたらカウントする、という方式を取っています。
まあ多少取り逃すかもしれないけど仕方ない...

今後のアップデートについて

アイテム投下機能を追加したい

ツ○キャスみたいに、お茶を投下したり面白い機能を増やしたいです。
ある程度仕様とかは考え終わっているのですが、問題がポイントシステムをどう実装するのか...というので、課金制度は税金とかの関係であまり使いたくないなーって感じなので色々考え中です。

配信ができるユーザーを増やすかも...?

神崎が許可したユーザーに対して、配信権限を渡すかもしれません。
また、その際に「KnzkLive」がタイトルだとアレだから「〇〇Live」って変化できるようにすると面白いかも...とかも考え中です。

さいごに

今期は「私に天使が舞い降りた!」「かぐや様は告らせたい」「デート・ア・ライブⅢ」あたりを観ているのですが、どれも中々良いです。
あと今書いてて気がついたけどかぐや様のHPだけhttpsでびっくりしました。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

\いいね・ツイートで記事ランキングアップ!/
ツイート
« 1 2 3

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索