Skip to main content

· 4 min read
Nziie

Topic: Discord's corruption with MEE6 breaking Discord's and YouTube's Terms of Service.

I'd like to start this off by saying that anything in this blog post is proven and factual in the video below.

TLDR

Please remove MEE6 from your servers and cancel any premium subscriptions you have tied to MEE6 or it's services. They are't a company you should be investing in as they have broken Discord's and YouTube's ToS. Discord won't do anything about them breaking their own ToS as they want the money, Top.gg won't do anything because MEE6 is paying roughly $100,000 a year on ads, so it looks like Top.gg is doing it for the money. MEE6 Alternatives.

MEE6 DM Advertisements

At approximately 11/24/2022 2:59 PM (PST), MEE6 direct messaged tons of members that MEE6 has access to (which uses it's Members intent) an advertisement that links them to their Top.gg page to vote for them (DM advertising). Discord doesn't allow this on behalf of a bot as it abuses their API and is against their Terms of Service, including the Discord Developer Policy. Discord has not done anything about this while they were getting thousands of support tickets from users who were DM advertised by MEE6. Sound's like corruption at Discord and makes it look like both "companies" are best buds. I'm not trying to throw Discord under the bus here, but it's been proven.

Intents

Proof of DM advertisement

MEE6 Music

I'm sure we all remember the terrible news that Groovy and Rhythm were being shutdown due to YouTube's forceful command. This was because they were using YouTube's API for music, while having a premium version of their bot/service; which is against YouTube's Developer/API Usage Policy. Since they are earning money from a free API/service, YouTube and stealing ad revenue from those artists that made the song(s) while making money. Now, you can legally have music bot that uses YouTube's API, but you cannot have a premium version of the bot. MEE6's music plugin is a premium perk, thus doing what Rhythm and Groovy did. Discord did ask Rhythym and Groovy to shutdown, and they did. However, Discord has not shown any intention to shutdown MEE6 to help prevent themselves or MEE6 from getting sued by YouTube.

Top.gg Ads

With everything said, Top.gg doesn't allow servers/bots on their site if it break's Discord's ToS or their own ToS, but they don't care since MEE6 is paying THOUSANDS of dollars a month on top.gg ads (roughly $100,000 a year), so clearly, Top.gg is only doing it for the money, proven here. However, Top.gg claims they won't do anything until Discord does something. So hopefully YouTube will take action which will force Discord to do something, which will finaaalllly... cause Top.gg to do something; thus causing MEE6 to not grow as fast and decline in growth and marketing.

Now, I personally use Top.gg Ads for Sentry and have seen decent results. Top.gg is very useful as at one point, Server Manager was at the front page of the website for the most voted new bot in a short duration of time and it got me 500 servers in ~2 weeks without paying a cent, which was crazy.

MEE6 Staff Members

Since MEE6 staff members were volunteer at one point, they could say whatever they want since they weren't getting paid. But since all of this happening, they fired all their support staff and moderators and replaced them with paid staff members. Thus, basically paying them to keep their mouths shut about the situation and to handle the controversy, instead of complaining to the Developers, explained here.

MEE6 Alternatives

There are many alternatives to MEE6, here is a list of some good ones - taken from www.alternativestomee6.com.

Conclusion

Please remove MEE6 from your servers and cancel any premium subscriptions you have tied to MEE6 or it's services. They are't a company you should be investing in as they have broken Discord's and YouTube's ToS.

I'll be posting updates about this situation in the MEE6 Controversy tag, stay tuned!

· 3 min read
Nziie

What are Python classes?

To put it simply, Python classes are like an object constructor or a "blueprint" for creating objects. You can also create a class to organize commands or event listeners and load them later using Pycord or discord.js.

Breakdown

Lets break down a simple class of a Car.

So here is our code that we're working with...

car.py
class Car:
def __init__(self, year, made, model): # When you use 'Car()' you will pass
# in these values that are set in the class
self.year = year
self.made = made
self.model = model

def start(self):
print('Vrrroooooooooommmm!!!')

def turn_off(self):
print('*Powering down...*')

def year_made(self):
return self.year

def month_made(self):
return self.made

def show_model(self):
return self.model

my_car = Car(2000, 'December', 'Lexus') # Create the car from the class
# Setting the year to 2000, the month to 'December' and
# and the model to 'Lexus'
my_car.start() # >>> 'Vrrroooooooooommmm!!!'
my_car.year_made() # >>> 2022
my_car.show_model() # >>> 'Lexus'
my_car.month_made() # >>> 'December'
my_car.turn_off() # >>> '*Powering down...*'

The class Car has some functions being start, turn_off, year_made, month_made, and show_model. All of these functions return or print a value from the class, the values being the attributes of the class (year, made, and model). You can access these attributes by doing car.year, etc.

If you're using Pycord or discord.py it would look something like this...

mycog.py
import discord
from discord.ext import commands

class MyCog(commands.Cog):
def __init__(self, bot):
self.bot = bot # you can access your bot object here

### stuff ###

def setup(bot):
bot.add_cog(MyCog(bot))

Then in your main.py or bot.py file...

main.py
# ...

# if you have your cog file in a 'cogs' folder:
bot.load_extension('cogs.mycog')
# if you don't:
bot.load_extension('mycog')

Functions Setting Attributes

You can even make functions to set attributes within the class.

car.py
class Car:
def __init__(self, year, made, model):
self.year = year
self.made = made
self.model = model

def start(self):
print('Vrrroooooooooommmm!!!')

def turn_off(self):
print('*Powering down...*')

def year_made(self):
return self.year

def month_made(self):
return self.made

def show_model(self):
return self.model

def set_year(self, year):
self.year = year
print(f'Set year to: {year}')

my_car = Car(2000, 'December', 'Lexus')
my_car.year_made() # >>> 2000
my_car.set_year(2005) # >>> 'Set year to: 2005'
my_car.year_made() # >>> 2005

Make sure you have correct syntax in or you will get an error!