Code Monkey home page Code Monkey logo

discord-raid-coordinator's Introduction

Raid Bot

A discord bot for organizing raid groups.

Notes on Future of this Project

This project end of life, but not yet dead. I am in the process of replacing this with a larger project in the same vien which will be hosted for other discords. I will link here when complete. This will most likely mean that this project will remain open source, and the newer one may or may not, as it will tie into a lot more infrastructure and dependencies and grow into something bigger.

The original vision for this bot was a small one that one could host without needing a database or any additional infrastructure. I am happy to take on other contributors and maintainers to keep this going.

If you want another self-hosted solution, MeowthBot came later and is an excellent choice used by many: https://github.com/FoglyOgly/Meowth.

Requirements

  • Python 3.5+
  • discord.py

Documentation and Setup

Latest Documentation

License

This bot is in the public domain and unencumbered by copyright.

discord-raid-coordinator's People

Contributors

dandesousa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

discord-raid-coordinator's Issues

Add ability to transfer egg chat to raid chat

So now that eggs are back, my users like setting up before a raid egg hatches. Would it be possible to say have a chat open when a raid egg hatches (called out by pokeakarm), then when said egg hatches have pokeakarm call out with the hatched Pokemon and use the original egg channel. Not sure if it's possible, but just an idea.

Bot crash on PokeAlarm Mention

I am trying to start a separate channel when a raid starts. If I use PokeAlarm to mention the coordinator role the bot crashes. If I mention the role manually it's fine. It seems like it is due to the PokeAlarm not having an actual name/link/profile.

Bot Automatically Creates Special Roles

The bot should automatically create all the roles it depends on, for example:

  • Instead of taking an argument for additional raid roles and raid organizer, the bot creates under itself, a permanent role on startup for that server
    • raid-bot-viewer (able to view all active raids)
    • raid-bot-organizer (able to endraid for any raid channel they are in)

Auto create chat room

Is it possible for the bot to create a chatroom if you configure it together whit RocketMap?

Documentation For Setup

Write up docs for how to add the bot to your server when launched on a server somewhere.

  • Instructions on how to add the bot (permission link with token query param)
  • Suggested configuration (limited read channels)
  • How to add a raid group.

Strange error

File "/usr/lib/python3.5/asyncio/selector_events.py", line 662, in _read_ready
data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer
Task exception was never retrieved
future: <Task finished coro=<WebSocketCommonProtocol.run() done, defined at /usr/local/lib/python3.5/dist-packages/websockets/protocol.py:428> exception=ConnectionResetError(104, 'Connection reset by peer')>
Traceback (most recent call last):
File "/usr/lib/python3.5/asyncio/tasks.py", line 241, in _step
result = coro.throw(exc)
File "/usr/local/lib/python3.5/dist-packages/websockets/protocol.py", line 434, in run
msg = yield from self.read_message()
File "/usr/local/lib/python3.5/dist-packages/websockets/protocol.py", line 456, in read_message
frame = yield from self.read_data_frame(max_size=self.max_size)
File "/usr/local/lib/python3.5/dist-packages/websockets/protocol.py", line 511, in read_data_frame
frame = yield from self.read_frame(max_size)
File "/usr/local/lib/python3.5/dist-packages/websockets/protocol.py", line 546, in read_frame
self.reader.readexactly, is_masked, max_size=max_size)
File "/usr/local/lib/python3.5/dist-packages/websockets/framing.py", line 86, in read_frame
data = yield from reader(2)
File "/usr/lib/python3.5/asyncio/streams.py", line 670, in readexactly
block = yield from self.read(n)
File "/usr/lib/python3.5/asyncio/streams.py", line 627, in read
yield from self._wait_for_data('read')
File "/usr/lib/python3.5/asyncio/streams.py", line 457, in _wait_for_data
yield from self._waiter
File "/usr/lib/python3.5/asyncio/futures.py", line 361, in iter
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/selector_events.py", line 662, in _read_ready
data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer
Task was destroyed but it is pending!
task: <Task pending coro=<cleanup_raid_channels() running at /usr/local/lib/python3.5/dist-packages/raid_coordinator/bot.py:552> wait_for=>

Suddenly this error come up?

Starting a new raid regex

Bot is running, he has all permissions on the discord server, he is member on the server (also online when started). but he doesn't do anything.
On starting the bot this message appears:

1 raid channel(s)
raid channel: raid-group-this-city
raid viewer role: raid-viewer
raid organizer role: raid-organizer

I write

!raid-lugia at XXX, disappears at 8pm

also

@raid-lugia at XXX, disappears at 9pm

and

raid-lugia at XXX, disappears at 7pm

do I have to trigger the raid in another way?
Maybe a better documentation for this. Do I have to implement roles for every pokemon? so raid-lugia is a role on the server? I also tried this, but doesn't work.

List Available Raid Rooms

In order to help with management and administration, the bot should support a command that lists all of the available raid group rooms on the server, whether they have a raid ongoing and how many members.

This will help with setting up permissions.

Python error

I get this error:

Collecting aiohttp<1.1.0,>=1.0.0 (from discord.py>=0.16.8->discord-raid-coordinator)
Using cached aiohttp-1.0.5.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-build-LHFRrP/aiohttp/setup.py", line 60, in
raise RuntimeError("aiohttp requires Python 3.4.2+")
RuntimeError: aiohttp requires Python 3.4.2+

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-LHFRrP/aiohttp/

My version i use is Python 3.5.2

What is the problem?

TimeZone

Hi

Can i somehow change the timezone on the clock?

This time
started at
2017-09-10 02:18:40 PM

Is completely wrong.

Remove Announcement Channel Requirement

At the moment, we need to specify an announcement channel. Really, the bot should be able to create raids in any channel it can read which follows the trigger warning, as long as it can send messages there and manage reactions.

To keep with the design philosophy of the bot, the topic would change from message_id to channel_id,message_id

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.