Skip to content

Commit 8c5525e

Browse files
committed
Addition of simple Discord identity bot example
1 parent 34b357b commit 8c5525e

File tree

3 files changed

+579
-0
lines changed

3 files changed

+579
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// Copyright (c) 2021 MC-Market (Mick Capital Pty. Ltd.)
2+
// MIT License (https://github.com/MC-Market-org/js-api-wrapper/blob/main/LICENSE)
3+
4+
const { Wrapper, Token, TokenType, Error } = require("mcm-js-api-wrapper");
5+
const { Client, Intents } = require('discord.js');
6+
7+
const mcmToken = new Token(TokenType.PRIVATE, "Find @ https://www.mc-market.org/account/api");
8+
const botToken = "Find @ https://discord.com/developers/applications";
9+
10+
const GUILD_ID = 0;
11+
const ROLE_ID = 0;
12+
13+
let guild = undefined;
14+
let role = undefined;
15+
16+
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
17+
const wrapper = new Wrapper();
18+
19+
async function main() {
20+
await client.login(botToken);
21+
await wrapper.init(mcmToken);
22+
23+
guild = await client.guilds.fetch(GUILD_ID);
24+
role = await guild.roles.fetch(ROLE_ID);
25+
26+
client.on("guildMemberAdd", join);
27+
}
28+
29+
async function join(user) {
30+
if (user.guild.id !== guild.id) return;
31+
32+
let member;
33+
try {
34+
member = await wrapper.members().fetchByDiscord(Number(user.user.id));
35+
} catch (error) {
36+
if (error instanceof Error && error.code() === "MemberNotFound") return;
37+
throw error;
38+
}
39+
40+
await user.roles.add(role);
41+
}
42+
43+
main().catch(error => console.error("ERROR: " + error));

0 commit comments

Comments
 (0)