2.6.0 • Published 25 days ago

wolf.js v2.6.0

Weekly downloads
29
License
MIT
Repository
github
Last release
25 days ago

Introduction

WOLF.js is a community maintained javascript library used to create Unofficial Bots

Required

Optional Packages

  • ioredis - npm i ioredis
    • Requires a local or remote redis server

Getting Started

Config - './config/default.yaml'

keyword: keyword # keyword #single word only
framework:
  developer: #your id here
  language: en #default response language here
  login:
    email: # bot email here
    password: # bot password here
    onlineState: 1 # online state here
  command:
    ignore:
      official: true # whether or not an official bot will trigger a command (internal)
      unofficial: true # whether or not an unofficial bot will trigger a command (internal)
      self: true  # whether or not the bot will process its own messages and trigger its own commands (internal)
  message:
    ignore:
      self: true # whether or not the bot will process its own messages (internal)
  subscriptions:
    messages:
      channel:
        enabled: true #subscribe to channel messages  (server)
        tipping: true # subscribe to channel message tip events  (server)
      private:
        enabled: true # subscribe to private messages (server)
        tipping: false  # subscribe to private message tip events  (server) - NOT IMPLEMENTED

Phrases - './phrases/en.json'

[
    {
        "name": "{keyword}_command_{keyword}",
        "comment":"{keyword} must match the keyword specified in config yaml",
        "value":"!{keyword}"
    },

    {
        "name": "{keyword}_command_help",
        "value":"help"
    },
    {
        "name": "{keyword}_help_message",
        "value":"Welcome to the {botname} bot\n\n!{keyword} help - To display this message\n!{keyword} me - Display basic information about your profile"
    },

    {
        "name": "{keyword}_command_me",
        "value":"me"
    },
    {
        "name": "{keyword}_subscriber_message",
        "value":"Nickname: {nickname} (ID: {id})\nStatus Message: {status}\nLevel: {level} ({percentage}% completed)"
    }
]

index.js

import { WOLF, Command } from 'wolf.js';
import me from './src/me/index.js';

const client = new WOLF();
const keyword = client.config.keyword;

client.commandHandler.register(
    [
        new Command(`${keyword}_command_${keyword}`, { both: async (command) =>  command.reply(command.getPhrase(`${keyword}_help_message`)) },
            [
                new Command(`${keyword}_command_help`, { both: (command) => command.reply(command.getPhrase(`${keyword}_help_message`)) }),
                new Command(`${keyword}_command_me`, { both: (command) => me(client, command) })
            ]
        )
    ]
);

client.on('channelMessage', async (message) => {
    if (message.body !== '!ping') { return false; };

    return await message.reply('Pong!');
});

client.on('privateMessage', async (message) => {
    if (message.isCommand) { return false; }

    const { language } = await client.subscriber.getById(message.sourceSubscriberId);

    return await message.reply(client.phrase.getByLanguageAndName(language, `${client.config.keyword}_help_message`))
});

client.on('ready', () => {
    console.log('Ready');
});

client.login();

Command - './src/me/index.js'
/**
 * Required for intellisense to work with client & command
 * @param {import('wolf.js').WOLF} client
 * @param {import('wolf.js').CommandContext} command
 */
export default async (client, command) => {

    const subscriber = await client.subscriber.getById(command.sourceSubscriberId);

    return await command.reply(
        client.utility.string.replace(
            command.getPhrase(`${client.config.keyword}_subscriber_message`),
            {
                nickname: subscriber.nickname,
                id: subscriber.id,
                status: subscriber.status,
                level: subscriber.reputation.split('.')[0],
                percentage: subscriber.percentage,
            }
        )
    );
};

Approval

Bots MUST be approved by WOLF staff in bot approval or bot approval.ar

Known Issues

  • Nothing at all ᴺᵒᵗʰᶦⁿᵍ ᵃᵗ ᵃˡˡ

Lacking Features

  • Nothing at all ᴺᵒᵗʰᶦⁿᵍ ᵃᵗ ᵃˡˡ

Contact

2.6.0

25 days ago

2.5.0

2 months ago

2.4.5

4 months ago

2.4.4

4 months ago

2.4.1

5 months ago

2.4.0

5 months ago

2.4.3

5 months ago

2.4.2

5 months ago

2.3.2

6 months ago

2.3.1

6 months ago

2.3.4

6 months ago

2.3.3

6 months ago

2.3.6

6 months ago

2.3.5

6 months ago

2.3.7

6 months ago

2.0.7

11 months ago

2.3.0

7 months ago

2.2.1

9 months ago

2.2.0

10 months ago

2.2.3

9 months ago

2.2.2

9 months ago

2.2.5

9 months ago

2.2.4

9 months ago

2.2.11

7 months ago

2.2.7

7 months ago

2.2.6

9 months ago

2.2.10

7 months ago

2.1.1

10 months ago

2.1.0

11 months ago

2.2.9

7 months ago

2.2.8

7 months ago

1.7.9

1 year ago

1.7.8

1 year ago

1.7.7

1 year ago

2.0.0-rc26

1 year ago

2.0.0-rc27

1 year ago

2.0.0-rc28

1 year ago

2.0.0-rc29

1 year ago

2.0.0-rc22

1 year ago

2.0.0-rc23

1 year ago

2.0.0-rc25

1 year ago

2.0.0-rc20

1 year ago

2.0.0-rc21

1 year ago

2.0.0-rc15

1 year ago

2.0.0-rc16

1 year ago

2.0.0-rc17

1 year ago

2.0.0-rc18

1 year ago

2.0.0-rc11

1 year ago

2.0.0-rc12

1 year ago

2.0.0-rc13

1 year ago

2.0.0-rc14

1 year ago

2.0.0-rc10

1 year ago

2.0.0-rc19

1 year ago

1.8.0

1 year ago

2.0.0-rc37

1 year ago

2.0.0-rc33

1 year ago

2.0.0-rc34

1 year ago

2.0.0-rc35

1 year ago

2.0.0-rc36

1 year ago

2.0.0-rc30

1 year ago

2.0.0-rc31

1 year ago

2.0.0-rc32

1 year ago

2.0.0-rc7

1 year ago

2.0.0-rc6

1 year ago

2.0.0-rc5

1 year ago

2.0.0-rc9

1 year ago

2.0.0-rc8

1 year ago

1.6.2

1 year ago

1.7.6

1 year ago

1.7.5

1 year ago

1.7.4

1 year ago

1.7.3

1 year ago

1.7.2

1 year ago

2.0.0-rc4

1 year ago

1.7.0

1 year ago

2.0.0-rc3

1 year ago

2.0.0-rc2

1 year ago

2.0.0-rc1

1 year ago

1.6.1

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.4.18

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.2

2 years ago

1.4.9

2 years ago

1.4.11

2 years ago

1.4.8

2 years ago

1.4.10

2 years ago

1.4.13

2 years ago

1.4.12

2 years ago

1.4.15

2 years ago

1.4.14

2 years ago

1.4.17

2 years ago

1.4.16

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.0.6

2 years ago

1.2.3

2 years ago

1.0.5

2 years ago

1.2.2

2 years ago

1.0.4

2 years ago

1.2.1

2 years ago

1.0.3

2 years ago

1.0.0-beta.22

2 years ago

1.0.0-beta.23

2 years ago

1.0.0-beta.20

2 years ago

0.20.0-beta.45R1

2 years ago

1.0.0-beta.21

2 years ago

1.0.0-beta.28

2 years ago

1.0.0-beta.29

2 years ago

1.0.0-beta.26

2 years ago

1.0.0-beta.27

2 years ago

1.0.0-beta.24

2 years ago

1.0.0-beta.25

2 years ago

1.0.0-beta.11

2 years ago

1.0.0-beta.12

2 years ago

1.0.0-beta.10

2 years ago

1.0.0-beta.19

2 years ago

1.0.0-beta.17

2 years ago

1.0.0-beta.18

2 years ago

1.0.0-beta.15

2 years ago

1.0.0-beta.16

2 years ago

1.0.0-beta.13

2 years ago

1.0.0-beta.14

2 years ago

1.1.5

2 years ago

0.20.0-beta.44

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

0.20.0-beta.45

2 years ago

1.0.0-beta.40

2 years ago

1.0.0-beta.41

2 years ago

1.0.0-beta.2

2 years ago

1.0.0-beta.3

2 years ago

1.0.0-beta.4

2 years ago

1.0.0-beta.5

2 years ago

1.0.0-beta.1

2 years ago

1.0.0-beta.33

2 years ago

1.0.0-beta.34

2 years ago

1.0.0-beta.31

2 years ago

1.0.0-beta.32

2 years ago

1.0.0-beta.6

2 years ago

1.0.0-beta.30

2 years ago

1.0.0-beta.7

2 years ago

1.0.0-beta.8

2 years ago

1.0.0-beta.9

2 years ago

1.0.0-beta.39

2 years ago

1.0.0-beta.37

2 years ago

1.0.0-beta.38

2 years ago

1.0.0-beta.35

2 years ago

1.0.0-beta.36

2 years ago

3.0.0-dev1

2 years ago

3.0.0-alpha.3

2 years ago

3.0.0-alpha.2

2 years ago

3.0.0-alpha.1

2 years ago

2.0.6

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.3

2 years ago

2.0.2

11 months ago

2.0.1

2 years ago

2.0.0

1 year ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago