nadybot / nadybot Goto Github PK
View Code? Open in Web Editor NEWThe successor of the original Budabot, taking the project one step further
Home Page: https://github.com/Nadybot/Nadybot
License: GNU General Public License v3.0
The successor of the original Budabot, taking the project one step further
Home Page: https://github.com/Nadybot/Nadybot
License: GNU General Public License v3.0
Add an option to allow supression of logon messages if the same person logs in on alts rapidly
Webhooks will allow us to bypass some limitations such as
Still working for Flinghshot though. Maybe wrong encoding in the new export?
Will require us to be able to update via git or curl
Plan is to have a setting to choose to always use "latest" version or to subscribe to the "stable" channel and have the bot check once every 24h, download and install the according package.
Rounded by a command installui <latest|stable> for manual setup.
There seems to be an issue where the Discord gateway client disconnects after several days, which might be:
We should try to reproduce this and investigate a side-issue where memory allocation in PHP seems to fail in the gateway module when memory is free. Could be a memory leak?
TODO:
Because these messages get droppen on old AOChatProxy if that is disabled.
Discord has a new reply feature which can and should be used to indicate a command reply.
discord/discord-api-docs#2118
discord/discord-api-docs@e2cbad6
Majoroutage says:
Personally, I preferred if it only responded to !afk !brb etc like any other deliberate command.
Currently, relaying something like You are so cool, @Nadyita
will result in the pure Discord message sent to AO, which is You are so cool, <@[!]user_id>
(so You are so cool, <@1234567890>
or You are so cool, <@!1234567890>
, depending whether there is a nickname or not).
We should replace mentions with the user's Discord name or even linked AO character if possible.
Setting $vars['default_module_status'] = 1;
in the config file doesn't enable any commands or events.
Issues found while testing in a VM:
$operation::TYPE
would be composer 2, getType
was removed)AWS cannot work with MyIsam databases, so do some extensive testing and ensure that InnoDB is not only working, but also the default if possible.
It seems that continuation frames are not detected as such and so when Discord send a large packet, we interpret pars of that packet as a new one.
Neither location, type, nor levels of the dyna DB seem to be accurate in any way.
Player: !boss legchopper
Nadybot: There was an error executing your command: Argument 1 passed to Nadybot\Core\Text::makeImage() must be of the type int, null given, called in C:\Users\User\Desktop\bundle (2) - Copy\src\Modules\ITEMS_MODULE\BosslootController.php on line 107
It's best practise, to not just simply use !
and we should also introduce an option where an invalid command doesn't produce anything on Discord,
If only 1 org is relaying, no need to prefix their messages with the org name, so make it a switch.
When two bots share a database it seems both bots send a tell to validate a new alt.
Hello, as said in the title, how do you migrate from budabot 4 to nadybot, keeping all modules and database in the process ofc, is that possible?
This is so we can use the found weapons in the !weapons command, so maybe even go further and have a link to that command directly, if it's enabled?
We need to be able to describe what a module as a whole does when running sth. like !config MODULENAME
. Adding and parsing basic Markdown or a specific JSON format seem to be a good start. This should be displayed on NadyUI as well
Make it optional, just ignore it if it was given
[Leritall]: Ok, say you have someone deserving of a temp ban for something not massively major. Allowing them to attend, but not gain points/bid would give them a chance to redeem themselves
To [Leritall]: That wouldn't stop them from ninja'ing anything though
[Leritall]: That's true. But ninja should be a perm ban, no?
[Leritall]: I guess it depends on severity
To [Leritall]: Depends on how people handle it
[Leritall]: Yea
To [Leritall]: So you are suggesting to allow to "block" people from joiing a raid and also from receiving or spending points
[Leritall]: No, I'm suggesting a middle ground between ban and not ban
[Leritall]: where they'd be allowed to join. But not get anything out of it. for x amounts of raids, and then it'd go back to normal after said time
To [Leritall]: Well something like "block raid " or "block points " or "block bid ", right?
[Leritall]: yea, something like that
[Leritall]: Would allow them to still be in the raid. But it would be their choice whether or not to participate, seeing they wouldn't get anything out of it. But it would give them a chance to prove that they regret what they did etc
Component QLs seem wrong
The stream_get_line()
part of the stupid websocket client doesn't catch the false case and just throws an exception
But make that configurable, some people might not like it.
First letter must be uppercase
Currently, we simply convert the popups to embeds, not taking into account their maximum size. Now that we even use fields, each of these must be limited to 1000 chars. Error can be seen when relaying the !config
-command
Currently, we have to either have people run update scripts between releases or take care of schema updates manually in the @setup. Both isn't great. I want schemas to be updates automatically when the bot starts, no matter if MySQL or SQLite.
When attempting to run the !config cmd disable guild
command, the request fails and results in a SQL syntax error in the log.
2020-11-18 23:03:25.792 INFO [Inc. Msg.] Player: config cmd disable guild
2020-11-18 23:03:25.793 ERROR Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?)' at line 1
Query: SELECT `type`, `file`, `cmd`, `admin` FROM `cmdcfg_botname` WHERE `cmdevent` = 'cmd' AND (`type` = ?)
Params: []
2020-11-18 23:03:25.793 INFO [Out. Msg.] Player There was an SQL error executing your command.
Can be seen when a raffle is running
Some whompahs (notably Southern Artery Valley) canm't be accessed with their name (10-3
in this case)
The tracker module should allow to configure which information to show about tracked people:
We also want to have an online-list for these tracked people (optionally grouped by something like the title level) so that PvP-focussed bots can easily see what the other side has in which level range.
> !raffle end
ERROR Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
Query: SELECT name FROM raffle_bonus_babelfisch WHERE name IN ()
Params: []
Even if people would fall into rate limit, because there would be no other way around
One wish is to be able to do something like !raid reward beast
or !raid reward s28
which should
Additionally, it would be nice not to have a fixed list of these raid points, but the ability to edit them, so you don't need access to the source or the database to have more predefined raid points.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.