Merhaba Dostlar
Arkadaşımın discord sunucusu için yapmış olduğum say komutunu sizinle paylaşmak istedim matplotlib kullanarak gafiksel bir şekilde görebiliyorsunuz
--KOMUTLAR--
[ !say ] Komutun yazıldığı sunucunun anlık olarak Toplam Üye - Online Üye - Offline Üye - Tagdaki Üye sayılarını hem embed şeklinde hemde grafik şeklinde hazırlayıp sunucuya atar
[ !bot-bilgim ] Botun bulunduğu sunucuları ve üye sayılarını grafiksel ve embed şeklinde atar
Arkadaşımın discord sunucusu için yapmış olduğum say komutunu sizinle paylaşmak istedim matplotlib kullanarak gafiksel bir şekilde görebiliyorsunuz
Kod:
import discord
import random
from matplotlib import pyplot as plt
import numpy as np
class MyClient(discord.Client):
async def on_ready(self):
print('Logged in as')
print(self.user.name)
print(self.user.id)
print('------')
async def on_message(self, message,*args):
if message.author.id == self.user.id:
return
if message.content.startswith('!bot-bilgim'):
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.axis('equal')
uyeler = []
sunucular = []
say = 0
for i in self.guilds:
## await message.channel.send(i.member_count)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.axis('equal')
uyeler.append(i.member_count)
sunucular.append(i.name)
ax.pie(uyeler, labels = sunucular,autopct='%1.2f%%')
plt.title("Bot Bilgisi")
dosya_adi = str(random.random())
foto =f"sunucu_bilgi_grafikler/{dosya_adi}{say}.png"
plt.savefig(foto);
say+=1
await message.channel.send(file=discord.File(foto))
if message.content.startswith('!say'):
toplam_uye = message.guild.member_count
online_uye = 0
offline_uye = 0
tagdaki_uye_sayi = 0
say = 0
sunucu_ad = message.guild.name
for user in message.guild.members:
if user.status != discord.Status.offline:
online_uye += 1
else:
offline_uye +=1
if "₴" in user.name:
tagdaki_uye_sayi += 1
embed = discord.Embed(title="Sunucu: {}".format(message.guild.name), description="Üye Bilgileri", color=0xfc0303)
embed.add_field(name="Toplam Üye Sayısı: ", value=str(toplam_uye), inline=False)
embed.add_field(name="Online Üye Sayısı: ", value=str(online_uye), inline=False)
embed.add_field(name="Offline Üye Sayısı: ", value=str(offline_uye), inline=False)
embed.add_field(name="Tagdaki Üye Sayısı: ", value=str(tagdaki_uye_sayi), inline=False)
await message.channel.send(embed=embed)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.axis('equal')
dilimler = [toplam_uye,online_uye,offline_uye,tagdaki_uye_sayi]
basliklar = ["Toplam Üye", "Online Üye", "Offline Üye", "Tagdaki Üye"]
ax.pie(dilimler, explode= (0.1, 0.1, 0.1, 0.1), labels = basliklar,autopct='%1.2f%%', shadow=True)
plt.title(sunucu_ad+" Üyeler")
dosya_adi = str(random.random())
foto =f"sunucu_bilgi_grafikler/{dosya_adi}{say}.png"
plt.savefig(foto);
say+=1
await message.channel.send(file=discord.File(foto))
client = MyClient()
client.run('TOKENINIZ')
[ !say ] Komutun yazıldığı sunucunun anlık olarak Toplam Üye - Online Üye - Offline Üye - Tagdaki Üye sayılarını hem embed şeklinde hemde grafik şeklinde hazırlayıp sunucuya atar
[ !bot-bilgim ] Botun bulunduğu sunucuları ve üye sayılarını grafiksel ve embed şeklinde atar