前提・実現したいこと
discord.jsで、^levelup,<ユーザーID>,<レベル>
(例:^levelup,723052392911863858,3
)と送信し、指定したレベルに達していたらロールを付与するbotを作っています。
発生している問題・エラーメッセージ
(node:837) UnhandledPromiseRejectionWarning: ReferenceError: guild is not defined (node:837) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:837) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
該当のソースコード
js
1const discord = require("discord.js"); 2const client = new discord.Client(); 3 4client.on("ready", message => { 5 console.log("ready!"); 6}); 7 8client.on("message", async message => { 9 if (message.content.startsWith('^levelup')) { 10 const lvupdata = message.content.split(','); 11 message.channel.send(`<@!${lvupdata[1]}>さんが**Lv.${lvupdata[2]}**になりました\nおめでとうございます!`); 12 if(lvupdata[2] === '3') { 13 var lv3mem = guild.members.fetch(lvupdata[1]); 14 lv3mem.roles.add('823579630782906419'); 15 message.channel.send("Lv.3に到達したので、ロールを付与しました!"); 16 } 17 } 18}); 19 20client.login(process.env.TOKEN);
試したこと
色々コードを変えて試してみましたが、動きませんでした。
補足情報(FW/ツールのバージョンなど)
- node.js v15.12.0
- discord.js v12.5.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/01 13:31