Coder Social home page Coder Social logo

samclane / discordia Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 5.0 463 KB

MUD (Multi-User Dungeon) for Discord.

License: GNU General Public License v3.0

Python 100.00%
discord discord-bot dungeon-crawler-game mud mud-client mud-engine mud-game-server mud-server multi-user-dungeon python

discordia's Introduction

Hi there ๐Ÿ‘‹

  • I'm currently looking for new work opportunities! Please feel free to drop me an email!
  • ๐Ÿ”ญ Iโ€™m currently working on ...
  • ๐ŸŒฑ Iโ€™m currently learning ...
    • Anything to do with LLMs
  • ๐Ÿ“ซ How to reach me: [email protected]
  • ๐Ÿ˜„ Pronouns: He/Him

Sawyer's github stats

discordia's People

Contributors

samclane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

discordia's Issues

ImportError: libcblas.so.3: cannot open shared object file: No such file or directory

I have installed everything using sudo and I am running python 3.7.

Traceback (most recent call last):
File "main.py", line 10, in
from Discordia.Interface.Rendering.DesktopApp import WindowRenderer, update_display
File "/home/pi/Bot/Discordia/Discordia/Interface/Rendering/DesktopApp.py", line 12, in
import pixelhouse as ph
File "/usr/local/lib/python3.7/dist-packages/pixelhouse/init.py", line 2, in
from .canvas import Canvas, load
File "/usr/local/lib/python3.7/dist-packages/pixelhouse/canvas.py", line 2, in
import cv2
File "/usr/local/lib/python3.7/dist-packages/cv2/init.py", line 5, in
from .cv2 import *
ImportError: libcblas.so.3: cannot open shared object file: No such file or directory

Had difficulty as a newb. Proposing modified README.md

Discordia

The highly-anticipated* re-release of DiscordMUD

Build Status
codecov

Screenshot

Requires Python 3.7+

Starting

To install:

pip3 install -r requirements.txt

python3 main.py

When prompted, enter your bot's Discord Token.

Player Controls

  • *register
    • Create a new player character and spawn into the game world.
  • *look
    • Get your grid location, and a picture of your surroundings, as far as your FOV can see.
  • *equipment
    • Prints your "character sheet" in chat. Contains player name and equipment.
  • [*north, *east, *south, *west] / [*up, *right, *down, *left]
    • Move your player character in the direction specified.
  • *inventory
    • Displays a list of the items in the players inventory
    • equip [index]
      • Have your PC equip the item from your inventory with the specified index.
    • unequip [index]
      • Remove the item from your equipment and put it back into your inventory.
  • *attack <n, e, s, w, ne, se, sw, nw>
    • Attack another player with your currently equipped weapon. If no direction is specified, the user will attack
      in the current position only. Otherwise, ranged weapons go in a single direction like a "beam", until they either a)
      hit another player and apply damage, or b) Miss, as the damage falloff, as each tile the projectile traverses
      removes % damage until it goes to 0.
  • *town
    • Calling town with no parameters is a debug command to check if you're inside a town or not.
    • inn
      • Run the events of the town's inn. Usually restores health/resources.
    • store
      • Lists all the items (Name, Price, Quantity) in the Town's store.
      • buy [index] (Placeholder)
        • Purchase the item at the given index, adding it to your inventory.
      • sell [index] (Placeholder)
        • Sell an item from your inventory, removing it and giving you some money.

Attributions

Sprites - Kenney RPG Urban Pack

ValueError: set_wakeup_fd only works in main thread

When running on Raspbian Stretch, the Discord-Thread quickly throws this exception:

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/home/pi/.pyenv/versions/3.7.2/lib/python3.7/asyncio/unix_events.py", line 92, in add_signal_handler
    signal.set_wakeup_fd(self._csock.fileno())
ValueError: set_wakeup_fd only works in main thread

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/.pyenv/versions/3.7.2/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/home/pi/.pyenv/versions/3.7.2/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pi/.virtualenvs/discordia/lib/python3.7/site-packages/discord/client.py", line 572, in run
    loop.add_signal_handler(signal.SIGINT, lambda: loop.stop())
  File "/home/pi/.pyenv/versions/3.7.2/lib/python3.7/asyncio/unix_events.py", line 94, in add_signal_handler
    raise RuntimeError(str(exc))
RuntimeError: set_wakeup_fd only works in main thread

This probably requires that the Discord-Thread be the main thread, which is problematic to Quit (as opposed to the OpenCV window, at least).

This issue also seems to be the inverse of Issue #1, which again is odd, considering Mac OS is Unix-based and theoretically should be complaining about the same thing.

Nonstochastic Test-World Generation

Currently, a different random seed is passed every time the Test Suite is run. This leaves room for some edge cases which cause the tests to fail (ex: all Actors spawn on a tiny island and can't move). A consistent random seed needs to be set.

Bot connects all permission granted but commands doesn't work

Hello samclane,
First congratulations for your Job, I used to play MUD when I was kid, and do this for discord was really nice I appreciated that, I will contribute.

So about the issue, I created everything added OAuth webhook , bot guilds permissions, bot connect to the channel and gets online, but the commands seems to not communicate with server. I Would like to know if you can help? Thanks in advance.

I sent a print of permissions as well.

LOG:
(base) C:\Users\myr0\Documents\Discordia-master>python main.py -W
INFO:Discordia.GameLogic.GameSpace:Generating Map...
INFO:Discordia.GameLogic.GameSpace:Generation finished
INFO:Discordia:Discordia Server has successfully started. Press Ctrl+C to quit.
INFO:discord.client:logging in using static token
INFO:discord.gateway:Shard ID None has sent the IDENTIFY payload.
INFO:discord.gateway:Shard ID None has connected to Gateway: ["gateway-prd-main-wp70",{"micros":50348,"calls":["discord-sessions-prd-2-62",{"micros":48917,"calls":["start_session",{"micros":43065,"calls":["api-prd-main-s00t",{"micros":40619,"calls":["get_user",{"micros":4298},"add_authorized_ip",{"micros":3677},"get_guilds",{"micros":3223},"coros_wait",{"micros":1}]}]},"guilds_connect",{"micros":1,"calls":[]},"presence_connect",{"micros":3025,"calls":[]}]}]}] (Session ID: 3a7e65c17aaa19d245fc62698ca34f0b).

WARNING:discord.state:GUILD_MEMBER_UPDATE referencing an unknown member ID: 749807886582022274. Discarding.
INFO:Discordia.Interface.DiscordServer:Connected successfully: Spum MUD: <749807886582022274>

WARNING:discord.state:GUILD_MEMBER_REMOVE referencing an unknown guild ID: 696852779397939220. Discarding.
Capturar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.