Skip to content

Edipool/SpamKiller

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpamKiller

What is the project about?

The problem of spam in large chats is common. Spam makes it difficult to communicate between people, search for the right information, which may eventually lead to people starting to leave the chat, because it will be impossible to be in it because of the abundance of spam.

By getting rid of spam in the chat, we will be able to make communication between people more comfortable, because it is unpleasant to correspond in the chat or search for information and often stumble upon fraudulent information about discounts of 90%, etc.

In general, the goal of this project is to reduce the amount of spam to a minimum, free administrators from routine viewing of the chat for spam, round-the-clock monitoring of the chat by a bot, timely decision-making on blocking the user and deleting spam.

How does the bot work?

This version of the bot uses a primitive model based on heuristic rules. This is justified in order to start with a simple one and complicate the model step by step and understand whether it is worth spending human resources on developing a more complex model when a simpler model can cope with the task.

Project structure

The following structure is used in this project:

  1. src module: contains the main code of the project,

    • app.py - the main file in which the bot is launched
  2. data module: not available in the public version

  3. logs module: contains project logs,

    • logs_from_bot.log - the main log file in which all the actions of the bot are recorded (not available in the public version);
    • temp_list_with_new_user.json is a temporary file to which the user is added until he sends his first message to the chat
  4. scripts modele: contains scripts for working with data,

    • data_preprocessing.py - performs data cleaning
    • make_metrics.py - calculates the quality metrics of the model
    • predict_spam_scores.py - makes predictions from the model
    • watching.py - in development
  5. src module: contains the source code

    • data module data.py - source code for data cleaning
    • model module
    • model.py - source code for the model
    • scripts module
    • make_metrics.py - source code for calculating the quality metrics of the model
    • add_new_user_id.py - source code for adding a new user to the temporary file
    • commands.py - source code for bot commands
    • send_messages.py - source code for sending messages to admins and a group

The following structure is used in this project:

  1. src module: contains the main code of the project, 1.1 app.py - the main file in which the bot is launched

  2. data module: not available in the public version

  3. logs module: contains project logs,

    • logs_from_bot.log - the main log file in which all the actions of the bot are recorded (not available in the public version);
    • temp_list_with_new_user.json is a temporary file to which the user is added until he sends his first message to the chat
  4. scripts modele: contains scripts for working with data,

    • data_preprocessing.py - performs data cleaning
    • make_metrics.py - calculates the quality metrics of the model
    • predict_spam_scores.py - makes predictions from the model
    • watching.py - in development
  5. src module: contains the source code

    • data module data.py - source code for data cleaning
    • model module
    • model.py - source code for the model
    • scripts module
    • make_metrics.py - source code for calculating the quality metrics of the model
    • add_new_user_id.py - source code for adding a new user to the temporary file
    • commands.py - source code for bot commands
    • send_messages.py - source code for sending messages to admins and a group

The main tools used in the project

Pyhon Aiogram Pandas Numpy Loguru Pylint

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%