npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

horsengel-roulette

v1.3.1

Published

Russian roulette for a Discord.js bot where the loser get kicked.

Downloads

193

Readme

License: MIT

Horsengel roulette

Russian roulette for the Discord.js library where the loser gets kicked. For the moment, it's only one versus one. After getting kicked, an invitation link is sent to the loser.

Note: after getting kicked, the server joined date on a member's profile will be the date of the member rejoining the server.

Requirements

The Horsengel roulette works both on version 13 and 14 of discord.js:

  • v14: you can use the last version of horsengel-roulette (Node.js version 16.9.0 or newer required);
  • v13: use the version 1.2.0 of horsengel-roulette using this command to install it: npm install [email protected] and this example to make it work. If you have an issue, you can leave a comment here.

The Horsengel roulette is compatible with TypeScript. If you have an issue, you can leave a comment here.

Installation

You have to add this module to your npm project folder.

$ npm install horsengel-roulette

If you are using a framework, you might need to create two command files called yes.js and pan.js. Those commands are used during the game but the framework might return that those don't exist as it wouldn't find any corresponding file. If you have this issue, create a file using the structure of the framework that you chose and it will work just fine. If you have an issue, you can leave a comment here.

Example

This is the most basic example of a working Horsengel roulette command on discord.js v14. Its aim is to make it understandable. Don't forget to add the gateway intents listed in the example.

const { Client, Events, GatewayIntentBits } = require('discord.js');
const HorsengelRoulette = require('horsengel-roulette');

const client = new Client({
	intents: [
		GatewayIntentBits.DirectMessages,
		GatewayIntentBits.Guilds,
		GatewayIntentBits.GuildMembers,
		GatewayIntentBits.GuildInvites,
		GatewayIntentBits.GuildMessages,
		GatewayIntentBits.MessageContent
	]
});

client.once(Events.ClientReady, c => {
	console.log(`Ready! Logged in as ${c.user.tag}`);
});

client.on(Events.MessageCreate, async msg => {
	if (msg.content.startsWith('!hr')) {
		const hr = new HorsengelRoulette(msg, msg.member, msg.mentions.members.first(), '!', 'en');
		hr.load(6, 1);
		hr.start();
	}
});

client.login('your-bot-token');

The Horsengel roulette instanciation

const hr = new HorsengelRoulette(msg, msg.member, msg.mentions.members.first(), '!', 'en');
  • The first argument is the message starting the duel.
  • The second and third argument are respectively the player 1 (the one provoking the duel) and the player 2 (the one provoked).
  • The third argument is the prefix you want to use;
  • The last argument is to set the language of the game response (not used yet).

The loading of the revolver

hr.load(6, 1);
  • The first argument is the magazine size.
  • The second the number of bullets.

How to play

For this example, the command prefix is ! but feel free to use the one you use with your bot. You can also personalise the command name but I advice you to use the name horsengel-roulette with hr as an alias. If you don't use aliasses, the second one is preferred.

Commands:

  • to start a duel: !hr <GuildMember>
  • to accept a duel: !yes
  • to shoot : !pan

If there is no answer before 30 seconds after the start command, the duel is cancelled. After the same amount of time, if a player does not shoot, he loses the game but he isn't kicked.

Translation

For the moment, the only avaible language is English but a more personalised text will soon be released in English and in French. After that, you are free to participate to the translation in any other language as long as it follows the original text.

Thanks

Thanks to:

Licenses