Jump to content

Discord Integration


Ahmad E.

Recommended Posts

13 minutes ago, GrooveOnBeat said:

I've entered the Client ID, Client Secret, and Discord Bot Token. When I click "Save" it redirects me to Discord. Then I get this error:

2017-02-11_180943.jpg.21fd3796ca3915c5ff321eaa8ad3059c.jpg

 

I got this error at one point and found it was caused by not using the correct redirect URIs. You can find them located in here. Hope this helps.

06MbvV0.png

Link to comment
  • Replies 441
  • Created
  • Last Reply

Cool app!

Suggestions (while understanding it's in Beta):

1. Format options or allow to add css (ID or classes) to bot messages (e.g., %poster, %topicTitle, %link, and message).

2. Shorten links. The full URL's look long and messy.

3. Fully integrated with IPS forums. Right now users have to go to a different webpage to (text) chat. It would be better if they can chat on the forum itself.

Link to comment
1 hour ago, GrooveOnBeat said:

1. Format options or allow to add css (ID or classes) to bot messages (e.g., %poster, %topicTitle, %link, and message).

2. Shorten links. The full URL's look long and messy.

Discord uses markdown for formatting but the API does not support it at all which is why there is no formatting currently. I think you can only use bold/italic/underline currently: https://support.discordapp.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-

1 hour ago, GrooveOnBeat said:

3. Fully integrated with IPS forums. Right now users have to go to a different webpage to (text) chat. It would be better if they can chat on the forum itself.

This is not going to happen unless discord decide to add an embeddable chat. Currently this requires an active websocket connection (a VPS) which the average admin doesn't have access to. And if you truly want that, you are better off using a chat that is actually fully integrated into IPS like Babble.

Link to comment
13 hours ago, Ahmad E. said:

Discord uses markdown for formatting but the API does not support it at all which is why there is no formatting currently. I think you can only use bold/italic/underline currently: https://support.discordapp.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-

This is not going to happen unless discord decide to add an embeddable chat. Currently this requires an active websocket connection (a VPS) which the average admin doesn't have access to. And if you truly want that, you are better off using a chat that is actually fully integrated into IPS like Babble.

Ah that makes perfect sense. I didn't think about those things when I asked the questions. :p Thanks for the info on formatting too!

I have a question about member role mappings. The options on the ACP side is either blank or admin. This might sound silly but what happens when I select either of the roles? In the basic settings I've left the unmapped disabled and enabled sync ban. The members on Discord have their separate accounts that (I don't think anyway) is related to IPS logins. How does this syncing work?

Link to comment
12 hours ago, IrishInsanity said:

Got it working and love it. 

Additional feature suggestion: calendar events

Can you elaborate a bit on what exactly it is you want, please? Like post to channel if there is a new calendar event or perhaps something like post a reminder 1day before the event etc.

10 hours ago, GrooveOnBeat said:

I have a question about member role mappings. The options on the ACP side is either blank or admin. This might sound silly but what happens when I select either of the roles? In the basic settings I've left the unmapped disabled and enabled sync ban. The members on Discord have their separate accounts that (I don't think anyway) is related to IPS logins. How does this syncing work?

In the Group settings, you should see all roles that you have in your discord server (except bot roles).

What you need to select, really depends on how you want it to work. Most people have "counterpart" roles on discord.

So if a member is in the group "x", they should have the role "y" on discord.
For example, imagine following config:

IPS Groups:

  • Admin
  • Mod
  • Member
  • Premium Member
  • Friend

Discord Roles:

  • King (counterpart of Admin)
  • Moderator (counterpart of Mod)
  • Member (counterpart of member)
  • Cool Guys (no counterpart).

So now, if you go and select the correct counterparts, people will get the roles they should have. Admins get "King", Mods get "Moderator" etc.

For Premium Member/Friend, you would select the empty field (it means no counterpart exists).

Now what does the "Remove unmapped roles" setting do?

If it is enabled, the roles that have no IPS counterparts (in this case, "Cool Guys") defined, would be removed from the discord members so no one can have them.
If it is disabled, those would be ignored. So if you manually assign them to a few guys, they wouldn't be stripped away.

Link to comment
On 2/9/2017 at 11:18 PM, Ahmad E. said:

Feature suggestions too :)

Make sure the file /discord/interface/oauth/auth.php is chmodded correctnly (most likely needs to be 644). I don't know why it changes to 2xx for some people as I don't touch it. I'll probably add a manually chmod in the upgrade process to avoid this issue.

I'm on the cloud service, not sure that I have access needed to make such a change...

Link to comment
15 hours ago, Ahmad E. said:

Can you elaborate a bit on what exactly it is you want, please?

Something simple like %poster has just posted a calendar event in %calendarName: "%eventTitle". Read more: %link was what I was thinking. Perhaps you can choose what discord channel the message gets sent to from the Add Event menu or have a preset default discord channel for individual calendars under Community < Calendars < Edit Calendar: %calendarName like you did with Edit Forum: < Post Settings.

 If you want to go above and beyond you also have a different message for if Request RSVP is enabled like %poster has just posted a calendar event in %calendarName: "%eventTitle". RSVP: %link.

16 hours ago, Ahmad E. said:

Like post to channel if there is a new calendar event or perhaps something like post a reminder 1day before the event etc.

I didn't think of something like that but I could see myself, for my uses at least, using that if it was a feature. I would be interested in a 30 minutes before reminder. Perhaps you can choose how much time before the reminder triggers in the settings or something.

Link to comment

The admincp menu was not created for "ACP->Community->Discord->Settings" at all. I'm not sure if this is only an issue with the menu creation or if the options page is missing altogether. Unless you know of a quick fix, you give me a url I can try navigating to manually?

The installation did not have any errors, the application is enabled, and I do see the discord options under "ACP->Members->Groups" and "ACP->Community->Forums". 

Link to comment

For Calendar Events, maybe post to a channel when it's created and then post at selected intervals like 5 days and 3 days before and then the day of?  It'd be also nice to see if certain events could be posted to certain channels.  (Which was explained by another user here as well)

Also is there any possibility in the future of being able to edit what the post to channel says on a per forum basis if you choose?   For example I might want one forum to say  "User just submit an application for blahblahblah. View it here: link here"    and then for another forum if it says "User has posted a (topic title) in (topic section) - respond here"  

Obviously not exactly like that, but it would be nice if it could be changed on a per forum basis if you'd like or just use a stock option. 

Thanks for your work on this :)

 

Link to comment
10 hours ago, TheSkyLounge.tv said:

I'm on the cloud service, not sure that I have access needed to make such a change...

You don't, however if you upgraded to the latest version it should be fixed. If it isn't, you'd have to fill in a IPS support request and ask them to do it for you.

7 hours ago, IrishInsanity said:

Something simple like %poster has just posted a calendar event in %calendarName: "%eventTitle". Read more: %link was what I was thinking. Perhaps you can choose what discord channel the message gets sent to from the Add Event menu or have a preset default discord channel for individual calendars under Community < Calendars < Edit Calendar: %calendarName like you did with Edit Forum: < Post Settings.

 If you want to go above and beyond you also have a different message for if Request RSVP is enabled like %poster has just posted a calendar event in %calendarName: "%eventTitle". RSVP: %link.

I didn't think of something like that but I could see myself, for my uses at least, using that if it was a feature. I would be interested in a 30 minutes before reminder. Perhaps you can choose how much time before the reminder triggers in the settings or something.

I'll probably go with the former for now, as the delay stuff requires a re-write of how I currently do things which I don't have the time for atm.

5 hours ago, ADKGamers said:

For Calendar Events, maybe post to a channel when it's created and then post at selected intervals like 5 days and 3 days before and then the day of?  It'd be also nice to see if certain events could be posted to certain channels.  (Which was explained by another user here as well)

Also is there any possibility in the future of being able to edit what the post to channel says on a per forum basis if you choose?   For example I might want one forum to say  "User just submit an application for blahblahblah. View it here: link here"    and then for another forum if it says "User has posted a (topic title) in (topic section) - respond here"  

Obviously not exactly like that, but it would be nice if it could be changed on a per forum basis if you'd like or just use a stock option. 

Thanks for your work on this :)

I'll think about it but as already mentioned above, this requires a re-write which I don't have enough time for atm.

Link to comment
18 hours ago, Hezeber said:

The admincp menu was not created for "ACP->Community->Discord->Settings" at all. I'm not sure if this is only an issue with the menu creation or if the options page is missing altogether. Unless you know of a quick fix, you give me a url I can try navigating to manually?

The installation did not have any errors, the application is enabled, and I do see the discord options under "ACP->Members->Groups" and "ACP->Community->Forums". 

Update: This seems to be an issue with my account permissions. I'm the only 'real' admin on my forum and should have all permissions, but when I tried logging in with another admin account I made there it was. When I copy/paste the URL back to my main account I get an error page that says: "The page you are trying to access is not available for your account". I've installed a couple other applications and a handful of plugins on my forum and never had this issue before. Any idea what's going on or how to fix it?

Possibly relevant: my forum was a conversion from vBulletin so there could be something that's "nonstandard" about the way my account is set up

Link to comment
On 2/12/2017 at 11:28 PM, Ahmad E. said:

In the Group settings, you should see all roles that you have in your discord server (except bot roles).

What you need to select, really depends on how you want it to work. Most people have "counterpart" roles on discord.

So if a member is in the group "x", they should have the role "y" on discord.
For example, imagine following config:

IPS Groups:

  • Admin
  • Mod
  • Member
  • Premium Member
  • Friend

Discord Roles:

  • King (counterpart of Admin)
  • Moderator (counterpart of Mod)
  • Member (counterpart of member)
  • Cool Guys (no counterpart).

So now, if you go and select the correct counterparts, people will get the roles they should have. Admins get "King", Mods get "Moderator" etc.

For Premium Member/Friend, you would select the empty field (it means no counterpart exists).

Now what does the "Remove unmapped roles" setting do?

If it is enabled, the roles that have no IPS counterparts (in this case, "Cool Guys") defined, would be removed from the discord members so no one can have them.
If it is disabled, those would be ignored. So if you manually assign them to a few guys, they wouldn't be stripped away.

Thanks for the info!

Ah! Ok so I'll need to set up the roles on Discord first, then set those roles on the counterpart member groups. Once those are set does that bind the Discord roles and IPS member groups?

 

Link to comment
16 hours ago, Hezeber said:

Update: This seems to be an issue with my account permissions. I'm the only 'real' admin on my forum and should have all permissions, but when I tried logging in with another admin account I made there it was. When I copy/paste the URL back to my main account I get an error page that says: "The page you are trying to access is not available for your account". I've installed a couple other applications and a handful of plugins on my forum and never had this issue before. Any idea what's going on or how to fix it?

Possibly relevant: my forum was a conversion from vBulletin so there could be something that's "nonstandard" about the way my account is set up

I have no idea. My application uses all default permissions so I don't see why you can't access it. If you edit your admin account, does it say that you have all permission?

14 hours ago, GrooveOnBeat said:

Thanks for the info!

Ah! Ok so I'll need to set up the roles on Discord first, then set those roles on the counterpart member groups. Once those are set does that bind the Discord roles and IPS member groups?

It syncs from IPS->Discord. There is no 2-way syncing, as this requires an open websocket connection (a VPS or something similar) which the average admin does not have access to.

Link to comment
5 hours ago, Ahmad E. said:

I have no idea. My application uses all default permissions so I don't see why you can't access it. If you edit your admin account, does it say that you have all permission?

It syncs from IPS->Discord. There is no 2-way syncing, as this requires an open websocket connection (a VPS or something similar) which the average admin does not have access to.

I fixed my permissions using the second account. I can see all the Discord options now and I don't believe this was an issue with your plugin.

I was able to fill in everything on the Discord settings page and joined the bot to my Discord server with no errors. But when I try to use the sign in with Discord option on the forum, I get an error page that says "The page you requested does not exist". It looks like there is supposed to be a discord directory that uploaded to the server with "auth.php". I can't upload it manually since I'm on the IPS cloud. Any suggestions about how to proceed?

 

Link to comment
44 minutes ago, Hezeber said:

I fixed my permissions using the second account. I can see all the Discord options now and I don't believe this was an issue with your plugin.

I was able to fill in everything on the Discord settings page and joined the bot to my Discord server with no errors. But when I try to use the sign in with Discord option on the forum, I get an error page that says "The page you requested does not exist". It looks like there is supposed to be a discord directory that uploaded to the server with "auth.php". I can't upload it manually since I'm on the IPS cloud. Any suggestions about how to proceed?

Fill in a support request asking them to upload the following files to /system/Login/Discord.php and /applications/core/sources/ProfileSync/Discord.php

https://github.com/ABSAhmad/IpsDiscordIntegration/tree/master/sources/MoveOnInstall

The install should have done this automatically, however. Can't say for sure why/if it failed.

Link to comment
36 minutes ago, Ahmad E. said:

Fill in a support request asking them to upload the following files to /system/Login/Discord.php and /applications/core/sources/ProfileSync/Discord.php

https://github.com/ABSAhmad/IpsDiscordIntegration/tree/master/sources/MoveOnInstall

The install should have done this automatically, however. Can't say for sure why/if it failed.

Alright, I'll ask them and report back. The installation did upload the Discord app folder and I can navigate all the way to .../applications/discord/interface/oauth/; it's just the auth.php and discord.php files that return the "not found" error.

I tried uninstalling the application and reuploading it in case there was a glitch, but then I got the same "The application you uploaded cannot be installed..." error as TheSkyLounge reported in this thread. I was only able to get it to work again by using the "reinstall" option on the application page. We're both on a cloud account, so it might be the same server permission issues. Hopefully, figuring out this issue will help all IPS cloud users.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...