-
-
Save alexstone/9319715 to your computer and use it in GitHub Desktop.
| <?php | |
| // (string) $message - message to be passed to Slack | |
| // (string) $room - room in which to write the message, too | |
| // (string) $icon - You can set up custom emoji icons to use with each message | |
| public static function slack($message, $room = "engineering", $icon = ":longbox:") { | |
| $room = ($room) ? $room : "engineering"; | |
| $data = "payload=" . json_encode(array( | |
| "channel" => "#{$room}", | |
| "text" => $message, | |
| "icon_emoji" => $icon | |
| )); | |
| // You can get your webhook endpoint from your Slack settings | |
| $ch = curl_init("WEBHOOK ENDPOINT GOES HERE"); | |
| curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); | |
| curl_setopt($ch, CURLOPT_POSTFIELDS, $data); | |
| curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
| $result = curl_exec($ch); | |
| curl_close($ch); | |
| // Laravel-specific log writing method | |
| // Log::info("Sent to Slack: " . $message, array('context' => 'Notifications')); | |
| return $result; | |
| } |
Top job exactly what I was looking for.
How are you able to set the channel? When I'm giving permission for my app to use the Incoming Webhook, I get a unique URL for every single Channel. I can send the channel all day long, but it's the URL that defines which channel it goes to. Is there a generic URL that I can't find? Or is there a permission I need to create that I am overlooking?
hello
i want to use slack rest api in curl to create a channel not with webhook but that is not working plz help me
Those this still work i am getting an error missing_text_or_fallback_or_attachments
thanks, it's help me so mush :)
in symfony nexylan / slack-bundle, we use "withIcon" to change the icon but here how to do it ?
Brilliant, thanks. emoji icons aren't working for me but, besides that, it's a very useful function!
Thank you!