Nabrok / gw2-discord-bot

Discord bot for the Guild Wars 2 API.
GNU General Public License v3.0
33 stars 25 forks source link

Cant enable world_roles on heroku #34

Closed noskillahh closed 6 years ago

noskillahh commented 6 years ago

Hi Nabrok,

Im a nodejs/redis noob and Im trying to host your nice bot on heroku. I can run it, but not with the world_roles feature enabled. Any idea why? It reports the following when starting the app:

2018-08-14T17:21:31.764529+00:00 app[web.1]: events.js:183 2018-08-14T17:21:31.764532+00:00 app[web.1]: throw er; // Unhandled 'error' event 2018-08-14T17:21:31.764533+00:00 app[web.1]: ^ 2018-08-14T17:21:31.764664+00:00 app[web.1]: at parseError (/app/node_modules/redis-parser/lib/parser.js:193:12) 2018-08-14T17:21:31.764661+00:00 app[web.1]: ReplyError: ERR unknown command 'config' 2018-08-14T17:21:31.764666+00:00 app[web.1]: at parseType (/app/node_modules/redis-parser/lib/parser.js:303:14) 2018-08-14T17:21:31.829161+00:00 app[web.1]: npm ERR! code ELIFECYCLE 2018-08-14T17:21:31.829681+00:00 app[web.1]: npm ERR! errno 1 2018-08-14T17:21:31.831384+00:00 app[web.1]: npm ERR! discord_bot@1.0.0 start: node discord_bot.js

Nothing I can really work with. If I remove the world_roles feature it works. The role is specified in the config.

noskillahh commented 6 years ago

It appears to have something to do with lib/db.js, specifically the line: sub_client.config("SET", "notify-keyspace-events", "AKE"); Is supposedly not supported by the redis server Heroku provides. Any idea if I can circumvene this somehow? I have now removed the line, but thats probably not right. The bot and the webpack is running now. When I visit the site I get an error, and when I verify an account the account doesnt get added to the configured group.

Nabrok commented 6 years ago

That line enables notifying when changes are made to data. Mostly that's used in the optional web interface, it is also used in the world_roles feature, but only to detect when a key has been removed (usually because it was revoked by the user).

I don't see any reason why removing that line should prevent people being added to the roles though.

noskillahh commented 6 years ago

Yeah sorry for bothering you. It was failing because of the redis provider. I removed the line and it seems to work correctly.