/anarchic

Discord bot that plays mafia

Primary LanguagePythonOtherNOASSERTION

Anarchic ๐Ÿ”ฅ

A feature rich Discord bot including party, economy, and voting features with 17 different roles you can play with!

ANARCHIC IS BEING REWRITTEN! Expect updates soon :)

Invite the bot here

Changelog ๐Ÿ“

Version 1.1.0 ๐Ÿ‘ป

  • Two new roles: The Psychic and The Consigliere
  • New shop in town! Check out Anarith selling the newest items, Shards!
  • Two new setups: Truth and Scattered
  • Removed Circus from the available setups
  • Added economy system
  • New role embeds
  • New /help command
  • Fixed bug where bot awkwardly crashes when a player is lynched
  • Fixed bug where players could see dead chat
  • Fixed bug where Mafioso was town sided
Click to view older changelogs

Version 1.0.1 ๐Ÿ“ท

  • Targeting bug fix
  • New Doctor image
  • New Doctor targeting image
  • New Jester image
  • Game results will now be shown in the channel /start was used

Version 1.0.0 ๐Ÿ’ป

  • Added the following roles: Cop, Detective, Lookout, Doctor, Enforcer, Mayor, Headhunter, Jester, Mafioso, Consort, Framer
  • Created party system (Wills, Voting, Joining, Leaving, Starting, Changing the setup, The actual game)
  • Added help commands (Role info, List of all roles, List of all setups)

Roles ๐ŸŽญ

Town ๐Ÿ 

The faction of most of the players in the game. To win, get rid of all the roles that may harm the Town.

Cop ๐Ÿ”Ž

Faction: Town

A reliable law enforcer, skilled in keeping evildoers in check.

  • You can interrogate a player each night
  • You will learn if they are Suspicious or not

Detective ๐Ÿ•ต๏ธ

Faction: Town

A private investigator who uncovers one's secrets

  • You can investigate a player each night
  • You will learn what possible roles your target might be

Lookout ๐Ÿ”ญ

Faction: Town

A skilled observer who keeps an eye on the evils

  • You can watch over a player each night
  • You will learn who visits your target

Tracker ๐Ÿ”ฆ (NEW)

Faction: Town

A skilled pathfinder who scouts the night.

  • Track a player each night
  • You will know who your target visits

Doctor ๐Ÿง‘โ€โš•๏ธ

Faction: Town

A secret surgeon who heals people at night

  • Heal a player each night
  • You will grant your target a powerful defense.
  • You and your target will be notified of a successful heal
  • You may only heal yourself once

Enforcer ๐Ÿ”ซ

Faction: Town

A rogue vigilante with an eye out for justice.

  • You may choose to shoot a player
  • You may not shoot on the first night
  • If you kill a Town member, you will commit suicide and be dealt a piercing attack

Mayor ๐ŸŽฉ

Faction: Town

The leader of the town.

  • You may reveal yourself as Mayor to the rest of the town
  • You will have 3 votes on all voting procedures once you reveal

Attendant ๐Ÿท (NEW)

Faction: Town

A distracting companion with a soothing aura

  • Distract a player each night
  • You are immune to distractions

Mafia ๐Ÿฅ€

The opposing faction of the Town ๐Ÿ . You must kill everyone who rivals the Mafia ๐Ÿฅ€.

Mafioso ๐Ÿฅ€

Faction: Mafia

The right hand man of organized crime.

  • You can attack a player each night
  • If you die, a random Mafia member will be promoted to the new Mafioso ๐Ÿฅ€.

Framer ๐Ÿ–ผ๏ธ

Faction: Mafia

A skilled deceiver who sets investigations astray.

  • You can frame a player each night
  • Frames last until an investigation is preformed on your target
  • Framed players show as Suspicious to a Cop
  • Framed players show as Framer, Jester or Mayor to a Detective.

Consigliere ๐Ÿงฒ

Faction: Mafia

A corrupted detective who gathers information for the mafia.

  • Investigate a player each night
  • You will learn your target's exact role

Consort ๐Ÿ’ž

Faction: Mafia

A hooker who works for organized crime

  • Distract a player each night
  • You are immune to distractions

Janitor ๐Ÿงน (NEW)

Faction: Mafia

A tired custodian who cleans up bodies.

  • Clean a player at night, with only 3 charges
  • If your target dies that night, their role, will, and cause of death will be hidden to the rest of the town
  • You will learn the cleaned target's role, will, and cause of death

Neutral ๐Ÿช“

The neutrals. They are their own faction, and they have their own win condition.

Jester ๐Ÿคก

Faction: Neutral

A crazed lunatic who wants to be publicly executed

Your goal: Get yourself lynched ๐Ÿช“

When you are lynched:

  • You will distract all of your guilty or abstaining voter the night following your lynch
  • You will passively attack a guilty or abstaining voter the night following your lynch.

Headhunter ๐Ÿช“

An obsessed executioner who wants a certain someone killed in front of the town.

You will be assigned a player that is a member of the Town ๐Ÿ . Your goal is to get them lynched, not kill them.

  • If your target is killed at night, you will become a Jester ๐Ÿคก

Psychopath ๐Ÿ”ช (NEW)

A bloodthirsty killer who wishes to dye the town in blood.

Your goal: Kill everyone in the Town.

  • You can become cautious or incautious

FAQ

Q: Are there questions here?

A: No.

Building

To build the bot and use it for yourself, you need to have the dependencies from requirements.txt installed (located in the source folder). If you're too lazy to go look for it, here's the list of libraries:

  • aiofiles
  • aiohttp
  • asyncio
  • disnake
  • humanize
  • requests
  • topggpy

Copy the example config file in the source folder and rename it to config.py, change the desired settings, and you're good to go!

โ— NOTE: HAH! We have a license, you don't want to get sued, do you? Then don't steal without credit!