Simple Machines Community Forum

Customizing SMF => Bridges and Integrations => Topic started by: cedgil on February 05, 2018, 03:08:18 PM

Title: Post to Discord
Post by: cedgil on February 05, 2018, 03:08:18 PM
Not quite sure this is the right place, anyway, ad I ould lihe SMF to interact with Discord, I guess it might be.

A long time ago, I has SMF to post in a Simpleportal shoutbox with this code in post.php :

/////////////////////////////////////
// Post new subjects to shoutbox 1 //
/////////////////////////////////////
global $user_info, $board, $scripturl, $boardName, $topic;

$smcFunc['db_insert']('',
'{db_prefix}sp_shouts',
array(
'id_shoutbox' => 'int',
'id_member' => 'int',
'member_name' => 'string',
'log_time' => 'int',
'body' => 'string',
),
array(
1,
$user_info['id'],
$user_info['name'],
time(),
'[color=red][i]a posté nouveau sujet: [url='.$scripturl . '?topic=' . $topic . '.new#new'.']'.html_entity_decode($_POST['subject']).'[/url][/i][/color]',
),
array('id_shout')
);
////////////////////////////////////////////
// End of post new subjects to shoutbox 1 //
////////////////////////////////////////////


As I want to my forum to interact closely with Discord, I'd like to do the same thing : whenever there's a new post on the forum, I want it to be announced on Discord. Yet, I didn't manage to have it work, whatever I try.

Here's is the best help I have found is (magazine.gaiscioch.com/guides/posting_to_discord_using_php_and_webhooks.html) :

The first part of this script is a function that will handle posting the data to your discord.
<?PHP
function discordmsg($msg, $webhook) {
  if($webhook != "") {
    $ch = curl_init($webhook);
    $msg = "payload_json=" . urlencode(json_encode($msg))."";
   
    if(isset($ch)) {
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
      curl_setopt($ch, CURLOPT_POSTFIELDS, $msg);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
    }
  }
}
?>


The next part is the actual action and message you wish to send.
<?PHP
// URL FROM DISCORD WEBHOOK SETUP
$webhook = "https://discordapp.com/api/webhooks/xxxxxxxxx/xxxxxxxx";
$msg = json_decode('
{
    "username":"BOTNAME",
    "content":"The message the BOTNAME posts.",
    "embeds": [{
        "title":"The Link Title",
        "description":"The Link Description",
        "url":"https://www.thelinkurl.com/",
        "color":DECIMALCOLORCODE,
        "author":{
            "name":"Site Name",
            "url":"https://www.sitelink.com/",
            "icon_url":"URLTOIMG"
        },
        "fields":[
            {
                "name":"LISTITEM1",
                "value":"LISTVALUE1",
                "inline":true
            },
            {
                "name":"LISTITEM2",
                "value":"LISTVALUE2",
                "inline":true
            },
            {
                "name":"LISTITEM3",
                "value":"LISTVALUE3",
                "inline":true
            }]
    }]
}
', true);
?>


Lastly there's the call to fire the script.
<?PHP
discordmsg($msg, $webhook); // SENDS MESSAGE TO DISCORD
?>


Could anyone help me with getting it to work? Thanks in advance for any help.
Title: Re: Post to Discord
Post by: Aleksi "Lex" Kilpinen on February 08, 2018, 12:36:44 PM
Perhaps try to see how similar stuff has been made for other platforms like Twitter?
For example there's this SimpleTwitter (http://custom.simplemachines.org/mods/index.php?mod=2982)
Title: Re: Post to Discord
Post by: butch2k on February 12, 2018, 02:56:37 AM
I use the RSS bot to do this.
Title: Re: Post to Discord
Post by: Aleksi "Lex" Kilpinen on February 14, 2018, 06:08:33 AM
That's an option too. :)
Title: Re: Post to Discord
Post by: vbgamer45 on September 09, 2018, 04:44:52 PM
Also I just posted a new free mod for discord web hooks https://www.smfhacks.com/index.php?action=downloads;sa=view;down=212 also pending approval on the smf mod site.
Title: Re: Post to Discord
Post by: lup1n2 on October 18, 2018, 11:02:03 AM
Quote from: vbgamer45 on September 09, 2018, 04:44:52 PM
Also I just posted a new free mod for discord web hooks https://www.smfhacks.com/index.php?action=downloads;sa=view;down=212 also pending approval on the smf mod site.
downloaded, Installed, Used, Awesome. I have 1 request could it send shoutbox messages to discord? . Because if it did this would be the cherry on top of the cake :)
Title: Re: Post to Discord
Post by: vbgamer45 on October 18, 2018, 11:32:23 AM
That would have to be custom built since the shoutbox is not part of SMF by default.