DiscordボットとGitHubの連携

Discord と GitHub を連携することによって、GitHub の更新情報をリアルタイムで把握することができます。おすすめです!

この記事では、Discord と GitHub の連携についてご紹介します。

Discord側

Discord では「サーバー設定」 > 「ウェブフック」からウェブフックを作成します。
このウェブフック URL を GitHub に登録します。

GitHub側

GitHub で登録したいリポジトリに移動します。

  • Settings
  • Webhooks
  • Add webhook
  • Payload URL へウェブフックを入力し、末尾には、/github
  • ContentsType は application/json
  • 通知はお好みに

これで GitHub への変更が、Discord へ通知されたら OK です。

参考

ドメイン移管時の手順

ドメイン移管の手順をご紹介します。

  • 認証鍵(Authorization Info)を受けとり、送信する
  • DNSもしくはネームサーバーの設定をする
  • Whois情報の更新をする

移管最大の課題は、認証鍵のやりとりです。認証鍵でエラーなく移管できればその後の障害はほぼなしでいけます。

認証鍵(Authorization Info)の登録

ドメイン移管の手続き時には認証鍵の登録が必要です。
ドメイン運営会社ごとに手続きが異なる場合がありますので、移管でエラーが発生した場合はドメインの運営会社に問い合わせると役立ちます。

DNSやネームサーバーの設定

ドメインの移管が成功すると、DNSもしくはネームサーバーの設定をして、表示したいサーバーを指定します。

ここがどうなるかはケースバイケースですね。
レンタルサーバーならばネームサーバーになるでしょう。

Whoisの設定

ドメイン移管後にはWhois情報を確認します。

Whois情報が正しくない場合は修正しましょう。

Discord bot 開発に必要な ID

Discord の bot 開発では、bot の TOKEN 以外にも様々な ID が必要になります。
これら ID の取得方法をご紹介します。

  • guild id
  • channel id
  • user id

よく使うのは、これら guild id、channel id、user id などでしょうか。
Discord ではサーバーの ID のことを guild id と呼びますので、ここは覚えておきます。

開発者モードの有効化

Discord のアプリから設定を行います。
Discord > Preferences から設定画面を開きます。

テーマ > 開発者モードを ON にします。

開発者モードを有効に

右クリックで ID コピー

開発者モードになると、各種項目から、右クリックで「IDをコピー」という項目が追加されます。

サーバー名やチャンネルを名を右クリックして ID をコピーしてみましょう。
必要な18桁の ID を取得できます。

参考

ユーザー/サーバー/メッセージIDはどこで見つけられる? – Discord

Discord 開発

Discord の Bot 開発をサポートする記事です。

Discord の Application を登録

DiscordのDeveloperサイトからアプリケーション登録が必要です。

New Application からアプリを登録します。

アプリケーション名に、sample-bot と名前をつけました。
Create を押下してアプリケーションを作成します。

Bot を登録

管理画面の左メニューから Bot を選択します。

Add Bot からボットを追加します。

アプリにボットを追加するか聞かれるので、YES, do it! を押下します。

Bot 登場と表示されます

ボットが作成されました。

Token を生成

Bot のページから Token を生成できます。

Bot 公開 URL をコピー

Bot 公開には公開 URL の発行がわかりやすいです。
メニューから OAuth2 のページに移動します。OAUTH2 URL GENERATOR という見出しがあるので、bot にチェックを入れます。

Bot 公開用の URL が生成されます。そちらの URL から Bot を招待してください。

Broken Link Checker でリンクエラーをチェック

リンク切れチェックの必須のプラグイン Broken Link Checker のご紹介です。

メリット

WordPress の運用では、リンク切れ修正作業が必ず必要になります。
リンクとは時によって無効になることがあるからです。

リンクは常にアクセスできるように運用していきましょう。

使い方

プラグインを有効にするだけで、投稿内のリンクを確認できます。
Broken Link Checker 内から修正や修正後のリンク切れのチェックをできます。

参考

dynamic_sidebar() の使い方

ウィジェットエリアを呼び出すために dynamic_sidebar() を使用します。

テーマ作成では頻出の関数でしょうか。

メリット

WordPress を使いこなすにはウィジェットの活用が効果的です。
会社ページによくある「お知らせ」のようなエリアを作るには dynamic_sidebar() が便利です。

sidebar という名前がついていますが、ウィジェットを呼び出せるので直感的にはわかりにくい気がします。

使い方

ウィジェットを表示したい場所で dynamic_sidebar() を呼びます。

<?php dynamic_sidebar(サイドバーの名前かID); ?>

例えば、newsという名前のウィジェットを呼び出したい場合は引数に名前を渡します。

<?php dynamic_sidebar('news'); ?>

参考

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/dynamic_sidebar

get_sidebar()の使い方

テーマディレクトリに置かれた sidebar.php という名前のテンプレートファイルを読み込む関数です。

テーマ作成では良く出ててくる関数なので覚えておくといいでしょう。

メリット

WordPress のテーマを作っていくと、ついテーマが複雑になっていきます。
サイドバーとしての役割は、sidebar.php などのテンプレートファイルに分割し、テーマをシンプルに保つようにしてください。

そのような際に get_sidebar() が役立ちます。

使い方

get_sidebar は呼ぶだけで sidebar.php を呼び出します。

<?php get_sidebar( サイドバー名 ); ?>

サイドバー名を指定しなければ sidebar.phpを呼び出します。
get_sidebar( ‘news’ ); のようにサイドバー名を指定すると、sidebar-news.php を呼び出します。

テンプレートファイルと合わせて get_sidebar による読み込みが必要です。

参考

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_sidebar

Google サーチコンソールでサイトマップを再送信する

サイト内の URL に変更があった場合、サイトマップへ速やかに反映した方が検索エンジンからのアクセスに良い結果をもたらします。

この記事では、サイトマップに変更があった場合、サイトマップを再送信する方法をご紹介します。

サイトマップを再送信する理由

URL の変更などによりサイトマップを更新した場合、サイトマップを再送信した方が良いです。

再送信しない場合は、サイト内の URL 変更などサイトマップの変更反映に時間がかかる場合があります。

サイトマップを再送信する

サイトマップ > 新しいサイトマップの追加 で新しい URL 入力で完了です。

すでにサイトマップが登録されている場合には再送信されます。

Googleサーチコンソールから新しいサイトマップの追加
Googleサーチコンソールから新しいサイトマップの追加

上図のようにサイトマップでは sitemap.xml というパスが一般的ですので、そのように入力しています。実際のサイトマップのパスに合わせて入力してください。

Google サーチコンソール 送信された URL が見つかりませんでした(404) 対策

Google サーチコンソールで404エラーが発生した際の対策です。
404はエラーですのでエラー表示を消すことが正しい対応です。

404エラーの確認

インデックス > カバレッジからエラーを確認します。

Google サーチコンソール404エラー
Google サーチコンソール404エラー

上図ではエラーが2件発生しています。
サイトマップの URL がアクセスできない状況が発生しています。

404エラーのサイトマップ修正する

404の原因は色々考えられますが、URL の変更ならば新しい URL への更新、URL の削除ならサイトマップからの削除を行います。

サイトマップを編集し、サイトマップに掲載されている URL がアクセスできることをしっかり確認しましょう。

サイトマップを送信

Google サーチコンソールにサイトマップを送信します。
すでに送信済みのサイトマップでも、サイトマップの更新が反映されない場合は再度 Google サーチコンソールで送信すると良いでしょう。

問題修正を Google サーチコンソールで確認

修正が Google サーチコンソールから認識されると、Google サーチコンソールからメールでメッセージが届きます。

カバレッジの問題が修正されました
カバレッジの問題が修正されました

「カバレッジ」の問題が修正されましたとあります。

つまり、「送信された URL のクロールに問題があります」の問題が修正されたことを Google サーチいコンソールが認識したということです。

404エラーのステータスが合格に
404エラーのステータスが合格に

Google サーチコンソールのステータスが合格になっています。
こちらでOKです。

まとめ

Google サーチコンソールで表示される「送信された URL が見つかりませんでした(404) 」を解消する対策について記載しました。

404が出ていると、検索エンジンからの流入にネガティブに働きます。エラーを見直して、アクセス流入改善につなげてください。

Jetpack の failed: Error during WebSocket handshake を消す方法

Jetpack を使用していて、Console 画面で WebSocket のエラーが発生していました。

WebSocket connection to 'wss://public-api.wordpress.com/pinghub/wpcom/me/newest-note-data' failed: Error during WebSocket handshake: Unexpected response code: 403
g @ public-api.wordpress.com/:6

api.wordpress.com へアクセスできないというエラーが出ています。

こちらログインユーザーにのみ表示されるエラーです。
ですので、解消しなくても WordPress のエンドユーザーへ大きな影響は発生しないと考えています。

対応方法

Jetpackモジュールを無効化します。
https://example.com/wp-admin/admin.php?page=jetpack_modules にアクセスします。

example.com は各々ご自身のドメインを指定してください。
通知モジュールを無効にしました。

※URLを記載している理由として、現在この画面へのリンクは見つけられませんでした。そのうち対応されるかもしれません。

Jetpack通知モジュール有効
Jetpack通知モジュール有効

こちらから無効化を押下します。

Jetpack通知モジュール無効
Jetpack通知モジュール無効

通知モジュールが無効になると、表示が有効化というテキストに変わっています。

以上で、エラーが消えていれば成功です。

参考

wordpress.com ログアウト時、コンソールに表示されるエラー | WordPress.org