Skip to content

A Python library for interacting with and creating bots for Destiny.gg chat.

License

Notifications You must be signed in to change notification settings

Fritz-02/dgg-bot

Repository files navigation

DGG-bot

PyPI license info PyPI version info PyPI supported Python versions

A library for connecting to and making a bot in Destiny.gg chat.

KNOWN ISSUE: There is an problem with at least Python 3.13 and websocket-client v1.8.0 and Cloudflare that results in being unable to connect. Please use an earlier version of Python in the meantime.

Installing

Python 3.9 or higher is required (version 0.5.0 and above, Python 3.8+ for versions below)

# Linux/macOS
python3 -m pip install -U dgg-bot

# Windows
py -3 -m pip install -U dgg-bot

Usage

Not sure what to put here at this point in time. Unauthorized chat bots are subject to being banned, ask Cake in DGG for permission and guidelines for chat bots before running one.

Examples

A simple bot with three commands and will yump back at chatters.

from dggbot import DGGBot
import time

bot = DGGBot(
    "AUTH_TOKEN",
    owner="Owner",
    prefix="$",
)  # default command prefix is "!"

@bot.command()
@bot.is_owner()  # only the owner named in DGGBot can use this command.
def test(msg):  # $test
    msg.reply("Test 123")

@bot.command(aliases=["banmeplease"])  # aliases for this command
def banme(msg):  # $banme / $banmeplease
    bot.send("RightToBearArmsLOL BINGQILIN nathanTiny2")


def is_cake(msg):  # a check where only the user Cake can use commands with this check
    return msg.nick == "Cake"

@bot.command(aliases=["oooo"])
@bot.check(is_cake)
def pog(msg):
    msg.reply("Cake OOOO")

"""
Events
You can either name the function after the event, or include the event name in the decorator.
mention() is also included as a shortcut for event("on_mention").

Event names: on_ban, on_broadcast, on_join, on_mention, on_msg, on_mute, on_privmsg, on_quit,
             on_refresh, on_unban
"""

@bot.event()
def on_msg(msg):
    print(msg)

# @bot.event("on_mention")
@bot.mention()
def yump(msg):
    if "MiyanoHype" in msg.data:
        time.sleep(0.5)
        msg.reply(f"{msg.nick} MiyanoHype")

if __name__ == "__main__":
    bot.run_forever()

Connecting to alternative DGG environments.

from dggbot import DGGBot

bot = DGGBot(
    owner="Owner",
    prefix="$",
    sid="SID",
    rememberme="REMEMBERME",
    config={
        {
            "wss": "wss://chat.omniliberal.dev/ws",
            "wss-origin": "https://www.omniliberal.dev",
            "baseurl": "https://www.omniliberal.dev",
            "endpoints": {"user": "/api/chat/me", "userinfo": "/api/userinfo"},
            "flairs": "https://cdn.omniliberal.dev/flairs/flairs.json",
        }
    },
)

@bot.event()
def on_msg(msg):
    print(msg)

if __name__ == "__main__":
    bot.run_forever()

About

A Python library for interacting with and creating bots for Destiny.gg chat.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages