[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
get()
で生の HTML を取得する。
$('#target').focus().get(0).setSelectionRange(0, $('#target').val().length); document.execCommand('copy');
タイトルまんま。キャラクターシートをダウンロード可能にする by Shunshun94 · Pull Request #13 · yutorize/ytsheet2
各種ツールをスムーズに利用できるといいなぁ。
数か月前に Discord の API のドメインが discordapp.com から discord.com に変更された。古いドメインは11月上旬に廃止されるとのことだ。7月中旬に以下のような DM が bot を持っている人には送られてきており、通知されている。
Last month, we excitedly announced our official move to discord.com. It was a long time in the making, and the work isn't done yet! For now, our API will continue to handle requests made to discordapp.com. On November 7, 2020 we will be dropping support for the discordapp.com domain in favor of discord.com. Please ensure that your libraries, bots, and applications are updated accordingly.
Due to technical constraints, our CDN domain will not be migrated and will remain cdn.discordapp.com for the foreseeable future.
しかし、Using DiscordBot from React app · Issue #2078 · discord/discord-api-docsを見る限りブラウザからは普通の手段では新しい Discord の API が持つドメイン(discord.com) を使って Discord の API を叩くことはできなくなったようだ。以下にざっと Using DiscordBot from React app · Issue #2078 · discord/discord-api-docs を翻訳したものを載せる。
mashovozka 09/15
React 製のアプリから Discord にログインしようとしているんだけど、403エラーが返ってきます。この原因がわかりません。他のアプリからだと上手くログインできています。何かご存知の方はいらっしゃいませんか?
Taarek 09/15
403エラーのレスポンスに含まれている JSON はなんといってますか?
多分 UserAgent が上手く入っていないと思います。
mashovozka 09/15
ありがとうございます!返ってきた JSON にはFailed to load response data
とありました。なお、token を再生成して試してみましたが上手くいきませんでした。UserAgent が上手く入ってない、というのはどういう意味でしょうか?
Taarek commented 09/15
https://discord.com/developers/docs/reference#user-agent を確認してみてください。Discord または CloudFlare がリクエストをはじいていると思われます。
(あまり本題と関係ないので省略)
mashovozka 09/15
You need to follow this https://discord.com/developers/docs/reference#user-agent otherwise Discord/CloudFlare might deny your request(s).
Taarek さん、リンクの共有ありがとうございます。私は以下のように Discord にリクエストを送っています。
// token は本当の値とは違う値を使っています bot.login("NzU1MzIxMDc1Nzg0NjEzOTI4.X2BlkQ.NM16N7hOajUhqca9FPdSvbxgGs4");
UserAgent を追加する必要があるようですが、ユーザエージェントはDiscordBot ($url, $versionNumber)
というフォーマットのようでした。私はリクエストに UserAgent をどのように記載するべきなのでしょうか? また、この $versionNumber
はどこの値を入れるべきなのでしょうか?
night 09/24
ブラウザがもつ UserAgent の情報は変更できないため、ブラウザから Discord に接続するのは無理でしょう。なんらかのサーバサイドサービスを用意する必要があります。
(以下はあまり本題と関係ないので省略)
確かにブラウザの User Agent の設定を変更してリクエストしてみたら問題なくサーバに接続できた(【JavaScript】ユーザーエージェントの取得と変更 - Qiita)。しかしエンドユーザにこれを要求するのは現実的ではない。また、User Agent を JavaScript から偽造することはできない。
過去の事故とかを分類したくなりそうになったので、事故の一覧をぶち込むとカウント・分類を簡単に出来そうなツールを作った。https://shunshun94.web.fc2.com/util/handyTaggingTool.html
データは json 形式で読み込ませる。読み込ませたのち、右下のタグ一覧に分類に使うためのタグの情報を改行区切りで入力すると各データに対してタグを振れて、これで集計ができる。
ただ、そういう作業はやみくもにやっても大して便利なデータが取れないのでよくよく考えてやらないといけない。
const fireEvent = (dom, eventName) => { const event = document.createEvent("HTMLEvents"); event.initEvent(eventName, true, true); dom.dispatchEvent(event); }; // 使い方 const targetInput = document.getElementById('dummy-input'); targetInput.value = 'なんか外から差し込みたい値'; fireEvent(targetInput, 'input'); // こうすることでユーザが 'なんか外から差し込みたい値' を入力したかのようにイベントを発火させる