tag:crieit.net,2005:https://crieit.net/tags/Discord/feed 「Discord」の記事 - Crieit Crieitでタグ「Discord」に投稿された最近の記事 2023-01-09T23:19:57+09:00 https://crieit.net/tags/Discord/feed tag:crieit.net,2005:PublicArticle/18361 2023-01-09T23:19:57+09:00 2023-01-09T23:19:57+09:00 https://crieit.net/posts/Discord-Cocos-Creator Discord、Cocos Creatorのゲームが表示されるアクティビティを追加 <p>ユーザーとのコミュニケーションは、ココスで成功するための重要な鍵です。私たちは中国語や英語に関わらず、常に開発者の声に耳を傾け、フォーラムで話す場を提供してきました。このフォーラムは私たちの製品だけでなく、業界のあらゆることについて話し合い、より大きなグループへと成長してきました。しかし、状況は常に変化し続けています。</p> <p>中国ではQQやWeChatを加えて直接会話できるようになりましたが、中国以外の多くのゲーム開発者にとってのゲーム開発について話す方法は、人気のチャットソフト"Discord"にあります。DiscordはIRCの新しい方法となり、多くの古い開発者が初期にあったらいいなと思っていた素晴らしい機能がたくさん追加されました。ファイルの共有、コメントにエモーティコンをつける、サーバー用のセクションを用意するなどがそれです。現在では、1億5千万人以上のMAUがあると推定され、成長を続けています。CocosでもDiscordサーバーはあります。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852397/53a2620f-f84a-6809-eebf-a80949001bd0.png" alt="image.png" /></p> <p>昨年、Discordはユーザー同士がサーバー上でコミュニケーションするための新しい方法を構築し始めた。その1つのアイデアが、個々のサーバー内でプレイできるゲームやアプリをベータテストする場である「games lab」です。このベータサーバーで最初に利用できたゲームやアプリは、poker, checkers、そしてYouTube viewerなどでした。</p> <p>今月、Discord はすべてのサーバーにゲーム (アクティビティと呼ばれる) を導入しました。一部のゲームは無料で、一部のゲームはサブスクリプションの背後にあります。 誰でも無料で利用できる最初のゲームは、Cocos Creator を使用し、Discord チームによって作成されたゲームだ。 Putt Party は、プラットフォーム上で最大のゲームの 1 つになり、リリース以来ファンのお気に入りになっています。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852397/af82405f-9de5-f00e-354c-cc2a8fc21475.png" alt="image-1.png" /></p> <p>私たちは、このグループが私たちのサーバーに来て以来、リリース前とリリース後にゲームを改善する方法について質問や議論をしてきました。YouTubeに楽しい動画がたくさんアップされ、ゲームラボでプレイしている人たちからも積極的な関心が寄せられ、Putt Partyの成功に喜んでいます。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852397/2f70ca8a-74e3-2278-3c69-23dec148a877.png" alt="image-2.png" /></p> <p>Putt Partyはミニゴルフの要領で、コース上にあるさまざまな障害物をパットで突破していくゲームです。Putt Partyでは、ホールに向かって吹く風や逆風、反転操作、大きな障害物を越えられるゴーストボールなどのパワーアップが追加されています。一度に多くの人がプレイするため、多くの人に当たってしまったり、パワーアップで低スコアを阻止されたりする可能性があります。</p> <p>このゲームは数ヶ月前からDiscord Games Labのサーバーで公開されていましたが、サーバーで利用できるゲームが発表されたことで、ゲームの制作についてチームに話を聞くことができるようになりました。早速、Cocos Creatorを使用することになった理由を聞いてみました。メンバーの一人は、ゲームをウェブやPC/Macのアプリケーションに載せるまでのスピード感についてコメントしています。</p> <p><a href="https://crieit.now.sh/upload_images/eb63148d98f0e831c22a89e4abf5af9d63bc22134872e.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/eb63148d98f0e831c22a89e4abf5af9d63bc22134872e.png?mw=700" alt="初公開時のPutt Party!" /></a></p> <p>ホールインワンを打ったり、仲間に罠を仕掛けたりする楽しみがありますが、チームにとってCocos Creatorで作った最初のゲームとなりました。Discord のチームは、HTML5 と WebGL を簡単に使用できる Cocos Creator を高く評価しています。</p> <p>チームはまた、彼らのゲーム作成をサポートできたことに満足しています。 私たちは彼らとゲームについて話したり、ゲームエンジンの改善について話し合ったりすることに対して、非常にオープンです。</p> <p>Cocos Creator を試し、このプラットフォームでさらに多くのアクティビティを構築し始める際のサポートを提供してくれた Discord のチームに感謝します。 彼らのリクエストと提案は、開発者が何を望んでいるのかだけでなく、私たち自身の Discord グループに対する彼らのサポートを理解する上でも、より多くの助けを与えてくれました。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852397/fd8375f9-ce39-4c4b-1786-972509f11ced.png" alt="image-3.png" /></p> <p>Discord が Cocos Creator でゲームをプレイできるようになったことで、Tesla、HooRoo、Rokid、飛行機など、私たちが使用しているさまざまなプラットフォームに名前をもう 1 つ追加できます。</p> <p>Cocos Creator はどこにでもあり、あらゆる技術分野の開発者に素晴らしい新しい機会を構築するために、すべての人とあらゆるプラットフォームをサポートしています。</p> <p><a target="_blank" rel="nofollow noopener" href="https://www.cocos.com/en/post/e7c26e48b7ee853cbf5e49de5d800745">引用元</a></p> CocosJapan tag:crieit.net,2005:PublicArticle/16234 2020-11-23T14:24:47+09:00 2020-12-20T14:14:17+09:00 https://crieit.net/posts/Among-Us-Discord-bot-AutoMuteUs-Discord-is-rate-limiting-me Among Us 用超便利 Discord bot “AutoMuteUs” をセルフホストした (公式推奨簡単版) <p><strong>注: この記事は、 2020年11月23日~25日 時点の話だよ。 状況は今後も刻々と変わる可能性が高いよ。</strong>  <br /> なお 12月20日 現在、 Among Us <code>v2020.12.9s</code> では、 以下の手順で問題なく動いていることを確認している。</p> <p>今年の夏あたりから、日本でも爆発的なブームが続いている、 <strong>宇宙人狼</strong> こと <strong>Among Us</strong>。</p> <p>Discord でボイスチャットしながらやるのが面白いのだけれど、 ゲームの仕様上、ミュート管理が結構面倒だ。</p> <p>そこに、 Among Us のゲーム画面に同期してミュート管理を超いい感じに自動で行ってくれる Discord bot が存在する。</p> <p><strong>それが <a target="_blank" rel="nofollow noopener" href="https://github.com/denverquane/automuteus">AutoMuteUs</a> だ。</strong></p> <p>このツールは、 以前は "AmongUs AutoMute" などとも呼ばれ、 誰か一人が Windows Steam 版 Among Us のゲームと一緒にキャプチャープログラムを立ち上げ、 公式の Discord Bot と連携させるだけで超お手軽に使える…<br /> <strong>…はずだった。</strong></p> <p>11月下旬現在、 AutoMuteUs 公式の手順に従って、 bot の <code>.au new</code> コマンドでゲームを作成しようとすると、<strong>以下のような悲しいメッセージを目にするだろう。</strong></p> <p><a href="https://crieit.now.sh/upload_images/c5d20f926b8515b20d82a4895eb57cc65fbb466f47b1c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c5d20f926b8515b20d82a4895eb57cc65fbb466f47b1c.png?mw=700" alt="among-us-bot-limit-000.png" /></a></p> <blockquote> <p>I'm very sorry, but Discord is rate-limiting me and I cannot accept any new games right now :frowning:<br /> Please try again in a few minutes.</p> </blockquote> <p>Discord のレート制限に引っかかってるって。<br /> Among Us は人気すぎるし仕方ないね!</p> <p>そして、仮にゲームの作成が無事にできたとしても、 bot のミュート変更が遅れたり、変更しそびれたりと不安定だったり…</p> <p><strong>…何とかしたい。</strong></p> <h2 id="ちょっと古い v2.4.3 をセルフホストするのが推奨"><a href="#%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%E5%8F%A4%E3%81%84+v2.4.3+%E3%82%92%E3%82%BB%E3%83%AB%E3%83%95%E3%83%9B%E3%82%B9%E3%83%88%E3%81%99%E3%82%8B%E3%81%AE%E3%81%8C%E6%8E%A8%E5%A5%A8">ちょっと古い v2.4.3 をセルフホストするのが推奨</a></h2> <p>2020/11/14 時点の <a target="_blank" rel="nofollow noopener" href="https://discord.gg/ZkqZSWF">AutoMuteUs の 公式 Discord サーバー</a> では、 このレート制限について以下のようにアナウンスされている。</p> <blockquote> <p>Soup 2020/11/14</p> <p>Hey all,</p> <p>We know the Official Bot has been having some serious issues lately, and we're sorry it keeps going down.<br /> We're looking at it right now and coming up with solutions, but we're fairly certain that the Bot is hitting the GLOBAL bot rate limit, and this is causing the outages (IP gets banned for 10 minutes upon hitting the limit). The bot is distributed across multiple IPs, but we need clever solutions to make sure we address the problem fully.</p> <p>It certainly makes sense that this would be the culprit, given that Discord has no "mass mute" API request option, and thus every single game is using ~10 requests to mute players, additional requests to update the status message, etc.</p> <p>We're developing solutions right now, but it might take some time. If you have some critical games coming up, we recommend self-hosting with version 2.4.3 while we get things ironed out with the official bot. The video detailing how to self-host version 2.4.3 is here: <a target="_blank" rel="nofollow noopener" href="https://www.youtube.com/watch?v=LUptOv5ohNc">https://www.youtube.com/watch?v=LUptOv5ohNc</a>, and the release is here: <a target="_blank" rel="nofollow noopener" href="https://github.com/denverquane/automuteus/releases/tag/2.4.3">https://github.com/denverquane/automuteus/releases/tag/2.4.3</a></p> <p>Thanks everyone for the patience, love you guys :kissing_heart:</p> </blockquote> <p>ざっくりいうと、</p> <ul> <li>公式ボットが Discord のレート制限に引っかかっているが、これは根本的な仕組みの問題。</li> <li>完全な対処には複雑な解決策が必要なので、解決には時間がかかるかもしれない。</li> <li>プレイしたい大事なゲームがあるなら、バージョン2.4.3でセルフホストすることをお勧めする。</li> </ul> <p>という感じ。</p> <p>AutoMuteUs はめっちゃアクティブに開発が進んでおり、 2020/11/14 の時点ですでに <a target="_blank" rel="nofollow noopener" href="https://github.com/denverquane/automuteus/releases/tag/4.0.3">バージョン 4.0.3</a> までリリースされているのだが、 敢えて割と古い 2.4.3 の利用が推奨されている。<br /> これはおそらく、 3.0.0 以降のバージョンのセルフホストでは、 docker が必須になっているなど、導入の敷居がかなり高くなっているためだろう。</p> <p>技術力に自信があるなら最新版を使ってもかまわないのだが、 とにかくすぐに遊びたいだけなら、 おとなしく 2.4.3 を使っておくのがよい。<br /> (2.4.4 も存在するけど、 x86 版 Windows で動かす分には差が無いようだ)</p> <p>古いバージョンでも、 bot の機能は十二分に便利… というか、主要な機能では最新版と差が無い。</p> <p>但し、あくまで古いバージョンのままであるという点は注意したい。<br /> 例えば、安定性は最新版に及ばないかも知れないし、 近くリリースされるらしい Among Us の(日本語を含めた)多言語対応などではうまく動かないかもしれない。<br /> (後者は 後述の AmongUsCapture が吸収してくれそうではあるけど。)</p> <h2 id="v2.4.3 の導入手順"><a href="#v2.4.3+%E3%81%AE%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86">v2.4.3 の導入手順</a></h2> <p>ということで、 v2.4.3 のセルフホストの導入手順について簡単に紹介してみようと思う。</p> <p>… といっても、 上記の <a target="_blank" rel="nofollow noopener" href="https://www.youtube.com/watch?v=LUptOv5ohNc">https://www.youtube.com/watch?v=LUptOv5ohNc</a> の動画をなぞっているだけだが。<br /> (英語の動画ではあるけど、 YouTube の自動字幕&自動翻訳で割と簡単に理解できる内容だと思う)</p> <p>実施にあたっては <strong>自己責任</strong> でお願いします。<br /> 状況が日々刻々とかわる話題なので、 記事のコメントで質問されても、答えるつもりはないので悪しからず。<br /> 他の方が回答してくれるのは大歓迎ですけどもね。</p> <p>後述するプリコンパイル済みの exe ファイルが信用できないと感じる場合は、ソースコードの内容を確認し、自身で exe をビルドすると良いだろう。<br /> 私は面倒くさかったので、プリコンパイル済みの exe 使うけど。</p> <h3 id="1. Among Us の 公式 Steam版 を用意する"><a href="#1.+Among+Us+%E3%81%AE+%E5%85%AC%E5%BC%8F+Steam%E7%89%88+%E3%82%92%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B">1. Among Us の 公式 Steam版 を用意する</a></h3> <p>まず、 <strong><a target="_blank" rel="nofollow noopener" href="https://store.steampowered.com/app/945360/Among_Us/">Among Us の Steam版</a> を買おう。</strong><br /> Andoroid版 や iOS版 の Among Us では AutoMuteUs は動作ないので。</p> <p>なお、 プレイヤーのうち誰か一人だけが AutoMuteUs を動かしていれば良く、 クロスプラットフォームで対戦もできるので、 全員 Steam版 である必要は無い。</p> <h3 id="2. GitHub から automuteus_windows と AmongUsCapture を DL"><a href="#2.+GitHub+%E3%81%8B%E3%82%89+automuteus_windows+%E3%81%A8+AmongUsCapture+%E3%82%92+DL">2. GitHub から automuteus_windows と AmongUsCapture を DL</a></h3> <p>開発者の GitHub リポジトリのリリースページから、以下の二つのファイルを、適当なフォルダに DL しよう。</p> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/denverquane/automuteus/releases/tag/2.4.3">AutoMuteUs バージョン2.4.3</a> の <code>automuteus_windows.exe</code></li> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/denverquane/amonguscapture/releases/">AmongUsCapture 最新版</a> の <code>AmongUsCapture.exe</code> <ul> <li><code>AmongUsCapture.zip</code> をダウンロードして解凍した中に入っている</li> </ul></li> </ul> <p>一度アプリを起動したら保存フォルダを移動しないほうが良いので、どこか固定のフォルダを決めてそこへ移動させておくとよい。</p> <p>ネットワークからダウンロードした exe ファイルは ZoneId が付与されていて、実行時に Windowns による制限がかかるので、 それぞれの exe ファイルを右クリックしてプロパティを開き、「ブロックの解除」をしておこう。</p> <p><a href="https://crieit.now.sh/upload_images/b17d36eadce2adf681510a076e329bbb5fcfc11c61ee4.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/b17d36eadce2adf681510a076e329bbb5fcfc11c61ee4.png?mw=700" alt="among-us-bot-limit-050.png" /></a></p> <p>なお、 AmongUsCapture の Readme には、 <a target="_blank" rel="nofollow noopener" href="https://dotnet.microsoft.com/download/dotnet-core/3.1">.NET Core 3.1 系ランタイム</a> のインストールが別途必要と書かれているが、 AmongUsCapture 2.4 系以上であれば不要だと思う。 多分。<br /> そもそも、 2.4.5 以降 TargetFramework が <code>net5.0-windows</code> に設定されてて、 .NET 5 のランタイムで動いてるし。 ランタイムは exe に同梱されているから別途インストールは不要なはず。</p> <h3 id="3. Discord の bot を作成する"><a href="#3.+Discord+%E3%81%AE+bot+%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B">3. Discord の bot を作成する</a></h3> <p><a target="_blank" rel="nofollow noopener" href="https://discord.com/developers/applications">https://discord.com/developers/applications</a></p> <p>上記の Discord の開発者ページに移動して、 bot を作成しよう。</p> <p><a href="https://crieit.now.sh/upload_images/7207ec3a30a86188ccd1b5232d4fcbd45fbb46a3f0a16.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/7207ec3a30a86188ccd1b5232d4fcbd45fbb46a3f0a16.png?mw=700" alt="among-us-bot-limit-010.png" /></a><br /> <a href="https://crieit.now.sh/upload_images/35c8cad24ebb45cc15d40d1ff30e36035fbb46ad824dd.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/35c8cad24ebb45cc15d40d1ff30e36035fbb46ad824dd.png?mw=700" alt="among-us-bot-limit-011.png" /></a></p> <p>まず、 New Application ボタンから Discord アプリを作成して、 Bot タブから Add Bot をクリックして、 bot を作成する。</p> <p><a href="https://crieit.now.sh/upload_images/0c9a38322a22aa0ac9444f0518eb80b85fbb46c4b91bb.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/0c9a38322a22aa0ac9444f0518eb80b85fbb46c4b91bb.png?mw=700" alt="among-us-bot-limit-012.png" /></a></p> <p>PUBLIC BOT のスイッチを OFF にして、 変更点を保存する。</p> <p><a href="https://crieit.now.sh/upload_images/8e5c4222fe1edb4fbb3d7196b0db26a45fbb46cb22d1e.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8e5c4222fe1edb4fbb3d7196b0db26a45fbb46cb22d1e.png?mw=700" alt="among-us-bot-limit-013.png" /></a></p> <p>Token の Copy ボタンをクリックして、 bot のトークンコードをメモ帳など適当なところに控えておく。</p> <p><a href="https://crieit.now.sh/upload_images/4fa6a340f3ff5ecfca740551312fc49b5fbb46d1f0ac1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4fa6a340f3ff5ecfca740551312fc49b5fbb46d1f0ac1.png?mw=700" alt="among-us-bot-limit-014.png" /></a></p> <p>OAuth タブに移動して、<br /> ① <strong>SCOPES から bot をチェック</strong><br /> ② <strong>BOT PERMISSIONS から Administrator をチェック</strong><br /> ③ <strong>Copy ボタンで 認可 リンクをコピー</strong><br /> の順に実行。</p> <p>そして ③ でコピーしたリンクをブラウザで開き、 Discord にログインしてどのサーバーに bot を追加するかを選択する。</p> <p>…とここまでで、 bot の作成は完了。</p> <h3 id="4. AutoMuteUs の設定"><a href="#4.+AutoMuteUs+%E3%81%AE%E8%A8%AD%E5%AE%9A">4. AutoMuteUs の設定</a></h3> <p>先ほどダウンロードした <code>automuteus_windows.exe</code> を一度起動させよう。</p> <p>すると、以下のようなエラーが表示され、 10秒後にプログラムが勝手に終了するはずだ。</p> <blockquote> <p>Program exited with the following error:<br /> no DISCORD_BOT_TOKEN provided<br /> This window will automatically terminate in 10 seconds</p> </blockquote> <p>すると、 その代わりに同じフォルダに <code>config.txt</code> というファイルが作成される。</p> <p>そのファイルを メモ帳 などで開くと</p> <pre><code class="plain">DISCORD_BOT_TOKEN= </code></pre> <p>と書かれているはずだ。</p> <p>その <code>=</code> の後ろに、 <strong>(3.) で控えておいた、 bot のトークンコードを貼り付けて保存しよう。</strong></p> <p>そして改めて <code>automuteus_windows.exe</code> を起動する。</p> <p>今度は Windows からファイアウォールの通信の許可ウィンドウが出るので、現在のネットワークでアクセスを許可してやる。</p> <p><a href="https://crieit.now.sh/upload_images/79ae6311d1d9d4965f9f15c3349259675fcfc167d4d41.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/79ae6311d1d9d4965f9f15c3349259675fcfc167d4d41.png?mw=700" alt="among-us-bot-limit-051.png" /></a></p> <p>ここまで来れば、 <code>automuteus_windows.exe</code> のコンソールウィンドウで "Bot is now running." などと表示されるはずだ。</p> <h3 id="5. AmongUsCapture をリンクさせる"><a href="#5.+AmongUsCapture+%E3%82%92%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%95%E3%81%9B%E3%82%8B">5. AmongUsCapture をリンクさせる</a></h3> <p>Steam版 Among Us を起動した状態で、 先ほどダウンロードした <code>AmongUsCapture.exe</code> を起動させる。</p> <p>AmongUsCapture が Among Us のプログラムを見つけて反応するはずだ。</p> <p>その状態で、 <strong>Discord の bot が入っているテキストチャンネル</strong> に、以下のコマンドを入力する。<br /> (コマンドと言っても、ドットから始まるメッセージを入力するだけだが)</p> <pre><code class="plain">.au new </code></pre> <p>すると、 BOT から以下のような <strong>ダイレクトメッセージ</strong> が届く。<br /> (サーバー内のチャンネルのメッセージではないので注意)</p> <p><a href="https://crieit.now.sh/upload_images/c82bc55fe701094e443ec0d4f4be746c5fbb47049c534.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c82bc55fe701094e443ec0d4f4be746c5fbb47049c534.png?mw=700" alt="among-us-bot-limit-030.png" /></a></p> <p>ここに書かれている <code>aucapture://</code> で始まるリンクをクリックすると、 AmongUsCapture にフォーカスが移って、 連係動作が開始される。</p> <p>ちなみに、 上手く AmongUsCapture が反応しない場合、 このメッセージ右下の URL, Code の内容を、 手動で AmongUsCapture へ入力しても OK だ。</p> <p><a href="https://crieit.now.sh/upload_images/93dff2af4f8df263402119df9f821a165fbb4714ccbd9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/93dff2af4f8df263402119df9f821a165fbb4714ccbd9.png?mw=700" alt="among-us-bot-limit-031.png" /></a><br /> <a href="https://crieit.now.sh/upload_images/82da208766e5bb5af0f6f4870ea00ed65fbb47194601d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/82da208766e5bb5af0f6f4870ea00ed65fbb47194601d.png?mw=700" alt="among-us-bot-limit-032.png" /></a></p> <p>ここまで行い、 チャンネル内の bot の表示が右下のようにグリーンになれば、 <strong>全ての準備は完了だ。</strong></p> <p><a href="https://crieit.now.sh/upload_images/9a70968f1352d4322edbd9b2082b04fc5fd105dd24f98.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9a70968f1352d4322edbd9b2082b04fc5fd105dd24f98.png?mw=700" alt="among-us-bot-limit-055.png" /></a></p> <p>もし、 <code>automuteus_windows.exe</code> のコンソールウィンドウで <code>meet error: websocket: close 1000 (normal)</code> のようなエラーが出て bot と Capture のリンクが上手くいかない場合、前述のファイアウォールのアクセスの許可ができていない可能性がある。</p> <p>その場合、以下の手順で許可設定をした上で、 <code>automuteus_windows.exe</code> を再起動してみよう。</p> <ol> <li><code>Winキー+R</code> でファイル名を指定して実行ダイアログを開く</li> <li><code>Firewall.cpl</code> を実行して、 Windows Defender ファイアウォール ウィンドウを開く<br /> <a href="https://crieit.now.sh/upload_images/765c14b96d1c8389b71d46e43c6b2a815fcfc197c79b1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/765c14b96d1c8389b71d46e43c6b2a815fcfc197c79b1.png?mw=700" alt="among-us-bot-limit-052.png" /></a> <a href="https://crieit.now.sh/upload_images/e7d7c66f298ffd61b52dfd8467eec00f5fcfc1a17cfab.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e7d7c66f298ffd61b52dfd8467eec00f5fcfc1a17cfab.png?mw=700" alt="among-us-bot-limit-053.png" /></a></li> <li>「ファイアウォールを介したアプリまたは機能を許可」 をクリック</li> <li>一覧から <code>automuteus_windows.exe</code> を探し、 設定の変更 → チェック → OK と設定して、アプリの通信を許可する。<br /> <a href="https://crieit.now.sh/upload_images/41c164180863335acdbcb315137973075fcfc1a94b393.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/41c164180863335acdbcb315137973075fcfc1a94b393.png?mw=700" alt="among-us-bot-limit-054.png" /></a></li> </ol> <h2 id="遊び方"><a href="#%E9%81%8A%E3%81%B3%E6%96%B9">遊び方</a></h2> <p>Among Us で部屋を立て、参加者に部屋に入ってもらう。</p> <p>すると、 Among Us 上のプレイヤー名とキャラクターの色が、 チャンネルのテキストメッセージに表示される。</p> <p><a href="https://crieit.now.sh/upload_images/f8263442a5d4752e3f87ecfc2636a7855fbb474986113.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/f8263442a5d4752e3f87ecfc2636a7855fbb474986113.png?mw=700" alt="among-us-bot-limit-040.png" /></a></p> <p>各プレイヤーが Discord 上で、 <strong>自分の色と同じリアクションの絵文字</strong> をクリックすると、 Among Us のプレイヤーと Discord ユーザーがリンクされる。</p> <p>この状態でゲームを開始すると、 プレイヤーの生存状態や会議のシーンにあわせて、自動的にボイスとスピーカーのミュートが変化するようになる。</p> <p>なお、ゲーム内で死んだプレイヤーは、 探索中にミュートが解除される一方で、死んでいないプレイヤーは探索中はスピーカーもミュートになって聞こえない状態となる。<br /> このため、死者同士の <strong>いわゆる霊界チャット</strong> も行える。</p> <p>その他、細かい使い方は、 bot の <code>.au help</code> コマンドなどで確認して欲しい。</p> <p>例えば、 bot が task と discuss のステージ変更を取りこぼしてしまった場合も、 <code>.au force</code> コマンドを使って手動でステータスを変更することも可能だ。</p> <p>以上が簡単な紹介だ。</p> <p><strong>快適な Among Us ライフを!</strong></p> <h2 id="メモ"><a href="#%E3%83%A1%E3%83%A2">メモ</a></h2> <p>AutoMuteUs とは直接関係ないけど、 気づいたことなど。</p> <ul> <li>Among Us は Alt+Enter で フルスクリーンとウィンドウを切り替えられる。 AmongUsCapture はどちらでも OK。</li> <li>Among Us のプレイヤー名と、 Discord の名前は揃っていた方がわかりやすい。 Discord の名前はサーバー毎に「ニックネーム」として名前が変更できるので、 Discord の名前を Among Us の名前に揃えておくと良い。<br /> <a href="https://crieit.now.sh/upload_images/9607fd0e0ddeab82616189e149426dae5fbb475d218df.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9607fd0e0ddeab82616189e149426dae5fbb475d218df.png?mw=700" alt="among-us-bot-limit-041.png" /></a></li> <li>ストアで購入できる Among Us だけでなく、 AutoMuteUs のほうも <a target="_blank" rel="nofollow noopener" href="https://www.patreon.com/automuteus">https://www.patreon.com/automuteus</a> にて $1/月~ 課金できるぞ。 $5/月 以上支援すれば 公式bot の 優先ミュートbotが貰えて快適にプレイできるはずだ。 公式bot の維持にはだいぶコストがかかっていることが明らかなので、気に入ったら支援してあげよう。</li> </ul> advanceboy tag:crieit.net,2005:PublicArticle/15015 2019-05-23T17:55:31+09:00 2019-05-27T11:36:40+09:00 https://crieit.net/posts/Discord-Splatoon2-bot DiscordからSplatoon2の情報を取得できるbotを作った <h1 id="DiscordからSplatoon2の情報を取得できるbotを作った"><a href="#Discord%E3%81%8B%E3%82%89Splatoon2%E3%81%AE%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E5%BE%97%E3%81%A7%E3%81%8D%E3%82%8Bbot%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F">DiscordからSplatoon2の情報を取得できるbotを作った</a></h1> <h2 id="どんなbot?"><a href="#%E3%81%A9%E3%82%93%E3%81%AAbot%EF%BC%9F">どんなbot?</a></h2> <p>botがいるサーバーで<br /> 「ナワバリ」とコメントすると現在のステージ2つが返ってきます。<br /> 「ガチ」or 「リーグ」とコメントすると現在のステージ2つとルールが返って来ます。<br /> 「サーモンラン」とコメントすると現在のステージと使用可能な武器が返ってきます。</p> <p>他にも機能があるのですが長くなるので気になる方は下記リンク先の説明を読んでください。<br /> <a target="_blank" rel="nofollow noopener" href="https://cube-library.net/works/co-production-works/splatoon2-bot-discord/">イカボット</a></p> <h2 id="なんで作ったの?"><a href="#%E3%81%AA%E3%82%93%E3%81%A7%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%AE%EF%BC%9F">なんで作ったの?</a></h2> <p>友人との会話の流れで作ることになった。<br /> 他の方が作ったbotが既にあったが対応しているコマンドが覚えにくかったらしい。<br /> - 「ガチ」「リーグ」「ガチマ」「リグマ」「バイト」とかいろんな表現で情報を取得したい<br /> - 他にも情報を取得したい</p> <p>とかそんな理由で開発がスタートした。</p> <h2 id="開発・実行環境"><a href="#%E9%96%8B%E7%99%BA%E3%83%BB%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83">開発・実行環境</a></h2> <h3 id="言語とライブラリ"><a href="#%E8%A8%80%E8%AA%9E%E3%81%A8%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA">言語とライブラリ</a></h3> <p>PythonからDiscordにアクセスできる<a target="_blank" rel="nofollow noopener" href="https://github.com/Rapptz/discord.py">discord.py</a>というライブラリが既に公開されていたのでそれを使用した。<br /> 開発当時はPython3.7に対応していなかったのでPythonのバージョンは3.6で開発した。</p> <h3 id="Splatoon2の情報の取得元"><a href="#Splatoon2%E3%81%AE%E6%83%85%E5%A0%B1%E3%81%AE%E5%8F%96%E5%BE%97%E5%85%83">Splatoon2の情報の取得元</a></h3> <p>下記サイトでSplatoon2のステージ情報を取得できるAPIを公開している方がいたため、ありがたく使わせていただきました。<br /> <a target="_blank" rel="nofollow noopener" href="https://spla2.yuu26.com/">Spla2 API</a></p> <p>大量のアクセスを行わないように + 高速化のためスケジュール更新があるまではキャッシュしたデータをもとにステージ情報などを返すようにしている。</p> <h3 id="実行環境"><a href="#%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83">実行環境</a></h3> <p>GCPで仮想サーバーを立ててSupervisorでデーモン化した。</p> <p>参考にした記事↓<br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/shiraco/items/70c5d48a1b4f43fb4aa7">SupervisorでPythonのWebアプリをデーモン化する</a></p> <h2 id="開発中の苦労"><a href="#%E9%96%8B%E7%99%BA%E4%B8%AD%E3%81%AE%E8%8B%A6%E5%8A%B4">開発中の苦労</a></h2> <p>Pythonをまともに書いたことがなかったので慣れるまでは開発スピードが遅かった。<br /> 特に普段は型ありの言語しか書かないので、型が違うエラーが実行時にしかわからないのが苦労した。</p> <h2 id="今後"><a href="#%E4%BB%8A%E5%BE%8C">今後</a></h2> <ul> <li>機能追加(要望があれば)</li> <li>Python 3.7対応</li> </ul> <h2 id="リンク"><a href="#%E3%83%AA%E3%83%B3%E3%82%AF">リンク</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://discordapp.com/api/oauth2/authorize?client_id=547404858135805992&permissions=2048&scope=bot">botをサーバーに登録するためのリンク</a></p> block tag:crieit.net,2005:PublicArticle/14891 2019-03-29T23:00:19+09:00 2019-03-29T23:00:19+09:00 https://crieit.net/posts/OGP-Twitter-LINE-8 OGP取得用クローラのユーザーエージェントを、TwitterやLINEなど8サービスで調べてみた <p>SNSなどで、投稿されたWebサイトのリンクがリッチに表示される「OGP (Open Graph Protocol)」機能。<br /> Webサイトに簡単なメタタグを組み込むだけでOGP表示されるため、対応するサイトは増えています。<br /> しかし、OGP用のメタタグは一般ユーザーからは見えないし、サムネイル動的生成などでサーバーに大きな負荷がかかることもあるので、できればOGP取得用クローラ以外にはメタタグを生成しないようにしたいもの。<br /> そこで、UA(ユーザーエージェント)からクローラによるアクセスか判定するために、実際にOGP取得用クローラのUAを記録して調べてみました。</p> <h4 id="結果"><a href="#%E7%B5%90%E6%9E%9C">結果</a></h4> <p>2019年3月28日に記録された文字列をそのまま掲載しています。</p> <div class="table-responsive"><table> <thead> <tr> <th>サービス</th> <th>User Agent</th> </tr> </thead> <tbody> <tr> <td>Twitter</td> <td>Twitterbot/1.0</td> </tr> <tr> <td>Facebook</td> <td>facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)</td> </tr> <tr> <td>LINE</td> <td>facebookexternalhit/1.1;line-poker/1.0</td> </tr> <tr> <td>メッセージ(iOS)</td> <td>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.4 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.4 facebookexternalhit/1.1 Facebot Twitterbot/1.0</td> </tr> <tr> <td>Discord</td> <td>Mozilla/5.0 (compatible; Discordbot/2.0; +https://discordapp.com)</td> </tr> <tr> <td>Skype</td> <td>Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5</td> </tr> <tr> <td>Slack</td> <td>Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)</td> </tr> <tr> <td>Plurk</td> <td>Mozilla/5.0 (compatible; PlurkBot/1.0; +https://www.plurk.com/) Firefox/61.0</td> </tr> </tbody> </table></div> <p>もし他にもOGP表示に対応しているサービスをご存知でしたら、<a target="_blank" rel="nofollow noopener" href="https://twitter.com/barley_ural">@barley_ural</a>までご連絡いただければ調査して追記していきます。</p> <p>おわり</p> ウラル tag:crieit.net,2005:PublicArticle/14640 2018-12-10T19:27:50+09:00 2018-12-10T19:37:15+09:00 https://crieit.net/posts/discord-bot ブラウザでdiscord botを作れるんだよ <p>Google Cloud Shell で Discord.pyを使ってDiscord Botを作る。</p> <ul> <li>Google Cloud Shellには、最初からpython3とpipはインストール済み。</li> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/Rapptz/discord.py">Discord.py</a>はPythonで書かれたDiscord APIのラッパー。<a target="_blank" rel="nofollow noopener" href="https://discordapp.com/developers/docs/topics/community-resources#libraries">公認ライブラリ</a>のひとつ。</li> <li>プロジェクトでのPythonパッケージ管理をするためにpipenvを使う</li> </ul> <h3 id="用意するもの"><a href="#%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE">用意するもの</a></h3> <p>Google Cloud Platformのアカウント<br /> Discord botのtoken</p> <h3 id="Google Cloud Shell環境"><a href="#Google+Cloud+Shell%E7%92%B0%E5%A2%83">Google Cloud Shell環境</a></h3> <ul> <li>OSはDebian-based Linux</li> <li>python3は、<code>python3</code>、python3のpipは、<code>pip3</code>という名前で用意されている</li> <li>Google Cloud Shell は起動の度にHOMEディレクトリ(<code>~/</code>)以外は真っさらになる</li> </ul> <h3 id="pipenvをインストールする"><a href="#pipenv%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B">pipenvをインストールする</a></h3> <p>pipenvをユーザーディレクトリへインストールする。</p> <pre><code class="sh">$ pip3 install --user pipenv </code></pre> <p><code>--user</code>オプションを付ければ<code>~/.local</code>以下にインストールされる。</p> <p>PATHに<code>~/.local/bin</code>を追加する。<code>.profile</code>ファイルに、<code>PATH=$PATH:$HOME/.local/bin</code>を書き足す。<br /> ログインしなおすか、<code>$ source .profile</code>する。</p> <h3 id="プロジェクトへdiscord.pyをインストールする"><a href="#%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%B8discord.py%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B">プロジェクトへdiscord.pyをインストールする</a></h3> <pre><code>$ mkdir discord_bot $ cd discord_bot $ pipenv install https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py </code></pre> <p>自分はボイスチャット機能を使いたいから、<code>https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py[voice]</code>とした。</p> <h3 id="できあがり"><a href="#%E3%81%A7%E3%81%8D%E3%81%82%E3%81%8C%E3%82%8A">できあがり</a></h3> <pre><code>import discord </code></pre> <p>してコード書けばいい。</p> <p>実行するときは</p> <pre><code>$ pipenv run python main.py </code></pre> <hr /> <hr /> <h3 id="※うまくいかなかったやりかた"><a href="#%E2%80%BB%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%84%E3%82%8A%E3%81%8B%E3%81%9F">※うまくいかなかったやりかた</a></h3> <pre><code>$ pipenv install discord.py </code></pre> <p>したら、エラー<code>ERROR: ERROR: Could not find a version that matches discord-py</code>が発生した。<br /> わからない。<br /> <a target="_blank" rel="nofollow noopener" href="https://pypi.org/project/discord.py/">pypiのdiscord.pyページ</a>にあるurlを指定する書き方を試したらできた。</p> <h3 id="※※ pypiは、パイピーアイと呼ぶ人が多いらしいとどこかで聞いた。pypyというのがあって、そっちがパイパイ。"><a href="#%E2%80%BB%E2%80%BB+pypi%E3%81%AF%E3%80%81%E3%83%91%E3%82%A4%E3%83%94%E3%83%BC%E3%82%A2%E3%82%A4%E3%81%A8%E5%91%BC%E3%81%B6%E4%BA%BA%E3%81%8C%E5%A4%9A%E3%81%84%E3%82%89%E3%81%97%E3%81%84%E3%81%A8%E3%81%A9%E3%81%93%E3%81%8B%E3%81%A7%E8%81%9E%E3%81%84%E3%81%9F%E3%80%82pypy%E3%81%A8%E3%81%84%E3%81%86%E3%81%AE%E3%81%8C%E3%81%82%E3%81%A3%E3%81%A6%E3%80%81%E3%81%9D%E3%81%A3%E3%81%A1%E3%81%8C%E3%83%91%E3%82%A4%E3%83%91%E3%82%A4%E3%80%82">※※ pypiは、パイピーアイと呼ぶ人が多いらしいとどこかで聞いた。pypyというのがあって、そっちがパイパイ。</a></h3> <h3 id="※※※pipenvをインストールしたり、pip3自体を更新すると、pip3コマンドが使えなくなる。"><a href="#%E2%80%BB%E2%80%BB%E2%80%BBpipenv%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F%E3%82%8A%E3%80%81pip3%E8%87%AA%E4%BD%93%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81pip3%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%80%82">※※※pipenvをインストールしたり、pip3自体を更新すると、pip3コマンドが使えなくなる。</a></h3> <p>そのときは代わりにこう書けばpip3コマンドと同じ。</p> <pre><code>$ python3 -m pip PIPCOMMAND ARGS </code></pre> あぜち(おばあちゃん)