Durumuna X yazana y rolü vermek istiyorum. Bunun kodu nedir ve bu kodu hangi dosyanın içine atacağım?
Durum dediği custom presence bölümü. Ben de hakkımda anlamıştım başta.Discord botlarının şu anda "Hakkımda" bölümüne erişimi yok. Github üzerinden istenmiş bu özellik ama olumlu dönüş yok anladığım kadarıyla.
Let bots and OAuth2 apps read user bios and banners · Issue #3095 · discord/discord-api-docs
Description Currently, user bio and banner fields are only returned on the profile endpoint, so they cannot be accessed via bots or OAuth2. It would be useful if they were returned in endpoints tha...github.com
Activity
kullanarak erişebiliriz o zaman. Daha sonra Activity
ismine, detayına, durumuna göre rolü verebiliriz.import { Client, GatewayIntentBits } from "discord.js";
import { config } from "dotenv";
config();
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.GuildPresences,
],
});
client.login(process.env.TOKEN);
client.on("ready", () => {
console.log(`Logged in as ${client.user.tag}`);
});
client.on("messageCreate", (msg) => {
// !rolver komutu ile aktivite ismi Visual Studio Code
// olan kullanıcılara "Mod" isimli rolü verdik.
if (msg.content === "!rolver") {
const members = msg.guild.members.cache;
members.forEach((member) => {
if (member.presence.activities.length !== 0) {
member.presence.activities.forEach((activity) => {
if (activity.name === "Visual Studio Code") {
const role = msg.guild.roles.cache.find(
(role) => role.name === "Mod"
);
member.roles.add(role);
}
});
}
});
}
});
Activity
objesi.[
{
name: 'Visual Studio Code',
type: 0,
url: null,
details: 'Editing index.js',
state: '26 lines of code, 634 bytes',
applicationId: '383226320970055681',
timestamps: { start: 2023-06-04T21:05:48.211Z, end: null },
party: null,
assets: RichPresenceAssets {
largeText: 'Editing a JAVASCRIPT file',
smallText: 'Visual Studio Code',
largeImage: '808841241142755358',
smallImage: '565945770067623946'
},
flags: ActivityFlagsBitField { bitfield: 0 },
emoji: null,
buttons: [],
createdTimestamp: 1685912835216
}
]
Discord.py'nin gözünü seveyim.Discord.jsActivity
kullanarak erişebiliriz o zaman. Daha sonraActivity
ismine, detayına, durumuna göre rolü verebiliriz.
JavaScript:import { Client, GatewayIntentBits } from "discord.js"; import { config } from "dotenv"; config(); const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildPresences, ], }); client.login(process.env.TOKEN); client.on("ready", () => { console.log(`Logged in as ${client.user.tag}`); }); client.on("messageCreate", (msg) => { // !rolver komutu ile aktivite ismi Visual Studio Code // olan kullanıcılara "Mod" isimli rolü verdik. if (msg.content === "!rolver") { const members = msg.guild.members.cache; members.forEach((member) => { if (member.presence.activities.length !== 0) { member.presence.activities.forEach((activity) => { if (activity.name === "Visual Studio Code") { const role = msg.guild.roles.cache.find( (role) => role.name === "Mod" ); member.roles.add(role); } }); } }); } });
ÖrnekActivity
objesi.
JSON:[ { name: 'Visual Studio Code', type: 0, url: null, details: 'Editing index.js', state: '26 lines of code, 634 bytes', applicationId: '383226320970055681', timestamps: { start: 2023-06-04T21:05:48.211Z, end: null }, party: null, assets: RichPresenceAssets { largeText: 'Editing a JAVASCRIPT file', smallText: 'Visual Studio Code', largeImage: '808841241142755358', smallImage: '565945770067623946' }, flags: ActivityFlagsBitField { bitfield: 0 }, emoji: null, buttons: [], createdTimestamp: 1685912835216 } ]
Discord.jsActivity
kullanarak erişebiliriz o zaman. Daha sonraActivity
ismine, detayına, durumuna göre rolü verebiliriz.
JavaScript:import { Client, GatewayIntentBits } from "discord.js"; import { config } from "dotenv"; config(); const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildPresences, ], }); client.login(process.env.TOKEN); client.on("ready", () => { console.log(`Logged in as ${client.user.tag}`); }); client.on("messageCreate", (msg) => { // !rolver komutu ile aktivite ismi Visual Studio Code. // olan kullanıcılara "Mod" isimli rolü verdik. if (msg.content === "!rolver") { const members = msg.guild.members.cache; members.forEach((member) => { if (member.presence.activities.length !== 0) { member.presence.activities.forEach((activity) => { if (activity.name === "Visual Studio Code") { const role = msg.guild.roles.cache.find( (role) => role.name === "Mod" ); member.roles.add(role); } }); } }); } });
ÖrnekActivity
objesi.
JSON:[ { name: 'Visual Studio Code', type: 0, url: null, details: 'Editing index.js', state: '26 lines of code, 634 bytes', applicationId: '383226320970055681', timestamps: { start: 2023-06-04T21:05:48.211Z, end: null }, party: null, assets: RichPresenceAssets { largeText: 'Editing a JAVASCRIPT file', smallText: 'Visual Studio Code', largeImage: '808841241142755358', smallImage: '565945770067623946'. }, flags: ActivityFlagsBitField { bitfield: 0 }, emoji: null, buttons: [], createdTimestamp: 1685912835216. } ]
Hocam ben bunu nereye yapıştıracağım direk index.js'ye mi yoksa command olarakmı pek bilgim yok da o konuda.
Bro ben discord.js biliyorum derdini anlat ondan sonra sonra yardımcı olayım.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.