How to keep track of the number of times a user has been mentioned?
In my bot, I have a message counter that stores the number of times a user sent a message in the server.
I was trying to count how many times a user got mentioned in the server. Does anyone know how could I do it?
discord discord.js
add a comment |
In my bot, I have a message counter that stores the number of times a user sent a message in the server.
I was trying to count how many times a user got mentioned in the server. Does anyone know how could I do it?
discord discord.js
add a comment |
In my bot, I have a message counter that stores the number of times a user sent a message in the server.
I was trying to count how many times a user got mentioned in the server. Does anyone know how could I do it?
discord discord.js
In my bot, I have a message counter that stores the number of times a user sent a message in the server.
I was trying to count how many times a user got mentioned in the server. Does anyone know how could I do it?
discord discord.js
discord discord.js
edited Nov 13 '18 at 15:59
Federico Grandi
2,93321227
2,93321227
asked Nov 13 '18 at 10:48
DragieBRODragieBRO
53
53
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can use message.mentions.members
(or message.mentions.users
) to see the mentions in a message. You can store the number of mentions for every user: every time they are mentioned, you increase the count.
var mention_count = {};
client.on('message', message => {
for (let id of message.mentions.users.keyArray()) {
if (!mention_count[id]) mention_count[id] = 1;
else mention_count[id]++;
}
});
Please note that mention_count
will be reset every time you restart your bot, so remember to store it in a file or in a database to avoid losing it.
Edit: below you can see your code applied to mentions: every time there's a mention to count, it gets stored in the level
value of the score.
client.on('message', message => {
if (!message.guild) return;
for (let id of message.mentions.users.keyArray()) if (id != message.author.id) {
let score = client.getScore.get(id, message.guild.id);
if (!score) score = {
id: `${message.guild.id}-${id}`,
user: id,
guild: message.guild.id,
points: 0,
level: 0
};
score.level++;
client.setScore.run(score);
}
});
thanks for responding..I was following a tutorial & I removed levels and I want to store mentions in level .Here is code for points or messages:let score; if (message.guild) { score = client.getScore.get(message.author.id, message.guild.id); if (!score) { score = { id:
${message.guild.id}-${message.author.id}, user: message.author.id, guild: message.guild.id, points: 0, level: 1 } } score.points++; client.setScore.run(score); }
Can you rewrite and store mentions in level
– DragieBRO
Nov 13 '18 at 18:18
Sure, I've edited my answer
– Federico Grandi
Nov 13 '18 at 22:24
worked perfect.. thanks a lot <3 . Here, one more thing how do we protect counting mentions if user mentions himself ?
– DragieBRO
Nov 14 '18 at 13:55
You can check ifid != message.author.id
. I've updated the code ;)
– Federico Grandi
Nov 14 '18 at 15:49
1
thanks a lot ...much appreciated <3
– DragieBRO
Nov 15 '18 at 11:14
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279335%2fhow-to-keep-track-of-the-number-of-times-a-user-has-been-mentioned%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use message.mentions.members
(or message.mentions.users
) to see the mentions in a message. You can store the number of mentions for every user: every time they are mentioned, you increase the count.
var mention_count = {};
client.on('message', message => {
for (let id of message.mentions.users.keyArray()) {
if (!mention_count[id]) mention_count[id] = 1;
else mention_count[id]++;
}
});
Please note that mention_count
will be reset every time you restart your bot, so remember to store it in a file or in a database to avoid losing it.
Edit: below you can see your code applied to mentions: every time there's a mention to count, it gets stored in the level
value of the score.
client.on('message', message => {
if (!message.guild) return;
for (let id of message.mentions.users.keyArray()) if (id != message.author.id) {
let score = client.getScore.get(id, message.guild.id);
if (!score) score = {
id: `${message.guild.id}-${id}`,
user: id,
guild: message.guild.id,
points: 0,
level: 0
};
score.level++;
client.setScore.run(score);
}
});
thanks for responding..I was following a tutorial & I removed levels and I want to store mentions in level .Here is code for points or messages:let score; if (message.guild) { score = client.getScore.get(message.author.id, message.guild.id); if (!score) { score = { id:
${message.guild.id}-${message.author.id}, user: message.author.id, guild: message.guild.id, points: 0, level: 1 } } score.points++; client.setScore.run(score); }
Can you rewrite and store mentions in level
– DragieBRO
Nov 13 '18 at 18:18
Sure, I've edited my answer
– Federico Grandi
Nov 13 '18 at 22:24
worked perfect.. thanks a lot <3 . Here, one more thing how do we protect counting mentions if user mentions himself ?
– DragieBRO
Nov 14 '18 at 13:55
You can check ifid != message.author.id
. I've updated the code ;)
– Federico Grandi
Nov 14 '18 at 15:49
1
thanks a lot ...much appreciated <3
– DragieBRO
Nov 15 '18 at 11:14
add a comment |
You can use message.mentions.members
(or message.mentions.users
) to see the mentions in a message. You can store the number of mentions for every user: every time they are mentioned, you increase the count.
var mention_count = {};
client.on('message', message => {
for (let id of message.mentions.users.keyArray()) {
if (!mention_count[id]) mention_count[id] = 1;
else mention_count[id]++;
}
});
Please note that mention_count
will be reset every time you restart your bot, so remember to store it in a file or in a database to avoid losing it.
Edit: below you can see your code applied to mentions: every time there's a mention to count, it gets stored in the level
value of the score.
client.on('message', message => {
if (!message.guild) return;
for (let id of message.mentions.users.keyArray()) if (id != message.author.id) {
let score = client.getScore.get(id, message.guild.id);
if (!score) score = {
id: `${message.guild.id}-${id}`,
user: id,
guild: message.guild.id,
points: 0,
level: 0
};
score.level++;
client.setScore.run(score);
}
});
thanks for responding..I was following a tutorial & I removed levels and I want to store mentions in level .Here is code for points or messages:let score; if (message.guild) { score = client.getScore.get(message.author.id, message.guild.id); if (!score) { score = { id:
${message.guild.id}-${message.author.id}, user: message.author.id, guild: message.guild.id, points: 0, level: 1 } } score.points++; client.setScore.run(score); }
Can you rewrite and store mentions in level
– DragieBRO
Nov 13 '18 at 18:18
Sure, I've edited my answer
– Federico Grandi
Nov 13 '18 at 22:24
worked perfect.. thanks a lot <3 . Here, one more thing how do we protect counting mentions if user mentions himself ?
– DragieBRO
Nov 14 '18 at 13:55
You can check ifid != message.author.id
. I've updated the code ;)
– Federico Grandi
Nov 14 '18 at 15:49
1
thanks a lot ...much appreciated <3
– DragieBRO
Nov 15 '18 at 11:14
add a comment |
You can use message.mentions.members
(or message.mentions.users
) to see the mentions in a message. You can store the number of mentions for every user: every time they are mentioned, you increase the count.
var mention_count = {};
client.on('message', message => {
for (let id of message.mentions.users.keyArray()) {
if (!mention_count[id]) mention_count[id] = 1;
else mention_count[id]++;
}
});
Please note that mention_count
will be reset every time you restart your bot, so remember to store it in a file or in a database to avoid losing it.
Edit: below you can see your code applied to mentions: every time there's a mention to count, it gets stored in the level
value of the score.
client.on('message', message => {
if (!message.guild) return;
for (let id of message.mentions.users.keyArray()) if (id != message.author.id) {
let score = client.getScore.get(id, message.guild.id);
if (!score) score = {
id: `${message.guild.id}-${id}`,
user: id,
guild: message.guild.id,
points: 0,
level: 0
};
score.level++;
client.setScore.run(score);
}
});
You can use message.mentions.members
(or message.mentions.users
) to see the mentions in a message. You can store the number of mentions for every user: every time they are mentioned, you increase the count.
var mention_count = {};
client.on('message', message => {
for (let id of message.mentions.users.keyArray()) {
if (!mention_count[id]) mention_count[id] = 1;
else mention_count[id]++;
}
});
Please note that mention_count
will be reset every time you restart your bot, so remember to store it in a file or in a database to avoid losing it.
Edit: below you can see your code applied to mentions: every time there's a mention to count, it gets stored in the level
value of the score.
client.on('message', message => {
if (!message.guild) return;
for (let id of message.mentions.users.keyArray()) if (id != message.author.id) {
let score = client.getScore.get(id, message.guild.id);
if (!score) score = {
id: `${message.guild.id}-${id}`,
user: id,
guild: message.guild.id,
points: 0,
level: 0
};
score.level++;
client.setScore.run(score);
}
});
edited Nov 14 '18 at 15:48
answered Nov 13 '18 at 15:45
Federico GrandiFederico Grandi
2,93321227
2,93321227
thanks for responding..I was following a tutorial & I removed levels and I want to store mentions in level .Here is code for points or messages:let score; if (message.guild) { score = client.getScore.get(message.author.id, message.guild.id); if (!score) { score = { id:
${message.guild.id}-${message.author.id}, user: message.author.id, guild: message.guild.id, points: 0, level: 1 } } score.points++; client.setScore.run(score); }
Can you rewrite and store mentions in level
– DragieBRO
Nov 13 '18 at 18:18
Sure, I've edited my answer
– Federico Grandi
Nov 13 '18 at 22:24
worked perfect.. thanks a lot <3 . Here, one more thing how do we protect counting mentions if user mentions himself ?
– DragieBRO
Nov 14 '18 at 13:55
You can check ifid != message.author.id
. I've updated the code ;)
– Federico Grandi
Nov 14 '18 at 15:49
1
thanks a lot ...much appreciated <3
– DragieBRO
Nov 15 '18 at 11:14
add a comment |
thanks for responding..I was following a tutorial & I removed levels and I want to store mentions in level .Here is code for points or messages:let score; if (message.guild) { score = client.getScore.get(message.author.id, message.guild.id); if (!score) { score = { id:
${message.guild.id}-${message.author.id}, user: message.author.id, guild: message.guild.id, points: 0, level: 1 } } score.points++; client.setScore.run(score); }
Can you rewrite and store mentions in level
– DragieBRO
Nov 13 '18 at 18:18
Sure, I've edited my answer
– Federico Grandi
Nov 13 '18 at 22:24
worked perfect.. thanks a lot <3 . Here, one more thing how do we protect counting mentions if user mentions himself ?
– DragieBRO
Nov 14 '18 at 13:55
You can check ifid != message.author.id
. I've updated the code ;)
– Federico Grandi
Nov 14 '18 at 15:49
1
thanks a lot ...much appreciated <3
– DragieBRO
Nov 15 '18 at 11:14
thanks for responding..I was following a tutorial & I removed levels and I want to store mentions in level .Here is code for points or messages:
let score; if (message.guild) { score = client.getScore.get(message.author.id, message.guild.id); if (!score) { score = { id:
${message.guild.id}-${message.author.id}, user: message.author.id, guild: message.guild.id, points: 0, level: 1 } } score.points++; client.setScore.run(score); }
Can you rewrite and store mentions in level– DragieBRO
Nov 13 '18 at 18:18
thanks for responding..I was following a tutorial & I removed levels and I want to store mentions in level .Here is code for points or messages:
let score; if (message.guild) { score = client.getScore.get(message.author.id, message.guild.id); if (!score) { score = { id:
${message.guild.id}-${message.author.id}, user: message.author.id, guild: message.guild.id, points: 0, level: 1 } } score.points++; client.setScore.run(score); }
Can you rewrite and store mentions in level– DragieBRO
Nov 13 '18 at 18:18
Sure, I've edited my answer
– Federico Grandi
Nov 13 '18 at 22:24
Sure, I've edited my answer
– Federico Grandi
Nov 13 '18 at 22:24
worked perfect.. thanks a lot <3 . Here, one more thing how do we protect counting mentions if user mentions himself ?
– DragieBRO
Nov 14 '18 at 13:55
worked perfect.. thanks a lot <3 . Here, one more thing how do we protect counting mentions if user mentions himself ?
– DragieBRO
Nov 14 '18 at 13:55
You can check if
id != message.author.id
. I've updated the code ;)– Federico Grandi
Nov 14 '18 at 15:49
You can check if
id != message.author.id
. I've updated the code ;)– Federico Grandi
Nov 14 '18 at 15:49
1
1
thanks a lot ...much appreciated <3
– DragieBRO
Nov 15 '18 at 11:14
thanks a lot ...much appreciated <3
– DragieBRO
Nov 15 '18 at 11:14
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279335%2fhow-to-keep-track-of-the-number-of-times-a-user-has-been-mentioned%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown