All Projects → Inspirateur → DiscordWordCloud

Inspirateur / DiscordWordCloud

Licence: MIT License
A discord bot that generates word clouds for discord users.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to DiscordWordCloud

discord-vc-notification
Post a message when someone joins a voice channel
Stars: ✭ 18 (-14.29%)
Mutual labels:  discord-bot
FFGNDS-Discord-Dice-Roller
Discord dice roller for EotE, AoR, FnD, Genesys, and L5R role playing games.
Stars: ✭ 63 (+200%)
Mutual labels:  discord-bot
1bot
"One bot, several uses". 1Bot is a multipurpose bot that has all the moderation tools you need, lots of useful utility commands, and a bunch of fun commands that we all need once in a while.
Stars: ✭ 19 (-9.52%)
Mutual labels:  discord-bot
corgi
A Discord bot made with JDA, Corgi is a server administration bot along with a few other cool features
Stars: ✭ 15 (-28.57%)
Mutual labels:  discord-bot
discord-audit-log-bot
A Discord bot that extends Discord's native Audit Log.
Stars: ✭ 109 (+419.05%)
Mutual labels:  discord-bot
economy-DiscordBot
Economic themed Discord Bot with quite a lot of commands and complete and a system of hunger, thirst, health like the real world.
Stars: ✭ 32 (+52.38%)
Mutual labels:  discord-bot
template
Official Discordeno boilerplate. This Repository does not accept issues / PRs move to https://github.com/discordeno/discordeno/tree/main/template
Stars: ✭ 56 (+166.67%)
Mutual labels:  discord-bot
Discord-Tools
VSCode extension allowing the integration of a Discord chat, bot templates, snippets, themes and more!
Stars: ✭ 91 (+333.33%)
Mutual labels:  discord-bot
Rubicon
Dead yo!
Stars: ✭ 14 (-33.33%)
Mutual labels:  discord-bot
ReactSelfbot
The best (and now open source) Discord selfbot.
Stars: ✭ 34 (+61.9%)
Mutual labels:  discord-bot
markov-discord
A Markov chain Discord chat bot. Generates unique messages by learning from past messages. Also occasionally attaches images to messages.
Stars: ✭ 35 (+66.67%)
Mutual labels:  discord-bot
discord-music
Discord music bot written in Typescript
Stars: ✭ 12 (-42.86%)
Mutual labels:  discord-bot
DocDex
JSON API & Discord Bot for Javadocs
Stars: ✭ 31 (+47.62%)
Mutual labels:  discord-bot
DiscordGo
Discord C2 for Redteam....Need a better name
Stars: ✭ 55 (+161.9%)
Mutual labels:  discord-bot
Invite-Manager
Invite manager is an open-source discord bot that allows you to track the invites of people who join your server.
Stars: ✭ 90 (+328.57%)
Mutual labels:  discord-bot
Discord-Bot-TypeScript-Template
Discord bot - A discord.js bot template written with TypeScript.
Stars: ✭ 86 (+309.52%)
Mutual labels:  discord-bot
AwesomeBot
chatbot for /r/learnprogramming (un)offical discord channel
Stars: ✭ 25 (+19.05%)
Mutual labels:  discord-bot
welcomebot
It a Source code for welcome bot
Stars: ✭ 13 (-38.1%)
Mutual labels:  discord-bot
iftar-bot
🕌 Iftar Bot, Plays adzan sound on iftar time (Ramadan special ✨)
Stars: ✭ 16 (-23.81%)
Mutual labels:  discord-bot
Menhera-Chan
A multi-purpose discord bot. With Dashboard
Stars: ✭ 28 (+33.33%)
Mutual labels:  discord-bot

DiscordWordCloud

A Python 3.9 discord bot that generates a word cloud (now with emojis !) for each discord user.

How to run it

  • Clone the project wherever you want
  • Install Python 3.9 from https://www.python.org/ (you can probably use an older version too)
  • Install the requirements listed in requirements.txt with pip
  • add a token.txt file at the root of the project
  • go to https://discordapp.com/developers/applications/ create your app
    • add a User Bot to it and paste its Token in token.txt
    • enable SERVER MEMBERS INTENT in the bot tab
    • invite the bot with https://discord.com/api/oauth2/authorize?client_id=CLIENT_ID&permissions=0&scope=bot replace CLIENT_ID with the Client ID of your app
  • run main.py with Python 3.9

And it should run !

If you got any questions about this project, feel free to DM Inspi#8989 on Discord.

Features

  • ;load (days) use this to load messages up to x days on your server
  • ;cloud to generate your word cloud, you can also tag someone in the command to generate their word cloud
  • ;emojis to get the custom emojis usage of the server

Pictures

How it works

Here's a step by step of how the bot makes a wordcloud:

  • after ;load
    • for each word w and user u, compute p(w|u), the probability of u writing w (this data is separated between servers)
  • after ;cloud
    • for each word w and the user u for which the cloud is, compute p(w|u)/p(w), this quantifies how much u favors w compared to everyone else
    • uses the WordCloud lib to make a word cloud image, scaling the words in proportion to their scores (they are placed randomly)

Some notes regarding this model:

  • This model as-is would be filled with typos, bits of url and words that have only been written by u because p(w|u)/p(w) would be high; to counter this, a value α is added to every p(w|u) as if each user had at least an α probability of writing any word. This regularisation has the downside of putting some words that were never written by u in the word cloud.
  • A strong point of this model is that it works in any language and stop-words such as and, the, a, etc. are often excluded because they are not favored by anyone in particular.
  • One limitation of the model is that it does not handle expressions bigger than a single word or emoji.

The code is written so that implementing a new model is easy, by subclassing WCModel in wcmodel.py, and importing your custom class instead of WCBaseline in main.py !

Powered by:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].