A Slack integration to post GIF replies from replygif.net

Overview

Archibald

Archibald is a Slack integration written in PHP to post tag-selected GIF replies from replygif.net into your current Slack channel or Direct Messages. You can either self-host it or easily set it up with the Heroku Deploy Button.

How to use Archibald

With Archibald, you can use the following commands in Slack:

/archie tags
Shows a list of all tags that can be used, together with the amount of gifs available in brackets

/archie [tag]
Use a tag to let Archibald search for a gif with that tag and randomly select one for you.
E.g: /archie magic

/archie shaq
You’ll love it, because he (you know who) loves you dearly!

Get Archibald up and running

You will have to take the following steps to set up and configure Archibald for your Slack team:

  1. Configure Slash Command and Incoming WebHooks integrations in your Slack settings.
  2. Deploy the integration with a Slash Command Token and the Incoming WebHooks URL you are given in step 1.

Slash Command Integration

Add a new Slash Command integration for your team.

For the Integration Settings, use the following values:

Setting Value
Command /archie
URL http://yourOwnDomain.com/archibald/api.php if you use your own server or https://your-heroku-app-name.heroku.com/api.php if you use Heroku Deploy Button (see below). If you don’t know the URL yet, come back later.
Method POST
Autocomplete help text
Descriptive Label Archibald

You will get a token that you will have to use later to configure Archibald.

Incoming WebHooks Integration

Now add a new Incoming WebHooks integration for your team.

It doesn’t matter which channel you choose for the messages to be posted to. All you need to do in the settings for the Incoming WebHooks integration is to copy the Webhook URL. You will use it when you configure Archibald. All other values of the Incoming WebHooks integration will be overwritten by Archibald.

Deploy to Heroku

If you set up Archibald the easy way, you can use the Heroku Deploy Button:

Deploy

When you press that button, you will be redirected to Heroku, where you can set up your own app. Insert the Token from the Slash Command integration and the Webhook URL from the Incoming WebHooks integration into the respective form fields and hit Deploy.

If you’re finished with the deployment, you can go and view the app.

Now head over to your Slack Integration settings and insert the URL you’ll be given by the app into the URL field of the Slash Command integration.

That’s it. You can now try out Archibald.

Deploy to your own PHP Server

config.php

Rename config.sample.php to config.php and set the Token from the Slash Command integration as well as the Webhook URL from the Incoming WebHooks integration.

    define('SLASHCOMMAND_TOKEN', 'Your copied Token here');
    define('WEBHOOK_URL', 'The copied WebHook URL here');

Upload files to Webserver

You need to upload all files to a webserver running PHP version 5.4.x or higher. Before you upload the files, be sure to use Composer to also include all vendor files.

composer install
You might also like...
A Magento 2 dashboard to display installed extensions. Read the blog post on some of the thinking behind it:
A Magento 2 dashboard to display installed extensions. Read the blog post on some of the thinking behind it:

Extension Dashboard for Magento 2 This module adds a dashboard to review all installed extensions in the Magento admin (Magento 2.3.0+ for now only).

In order to use the Korean Language on your Magento 2 store, it is time to start with Magento 2 Korean Language Pack in the set of informative documentations by Mageplaza. Magento 2 Korean Language Package is published by Magento 2 Translation Project at Crowdin, so all phrases will be replaced by the Korean language according to the contribution to that project. Please following up the guides in this post to convert the language with ease! Universal extension installer for Magento 2, see introductory blog post here
Universal extension installer for Magento 2, see introductory blog post here

ExtDN Installer for Magento 2 modules The installation of extensions for Magento 2 has a few scenarios to cover depending on your starting position (M

Flarum Post Comments - A Flarum extension.

Flarum Post Comments A Flarum extension. Make sure to comment on the answers and list the comments below the answers. Installation Install with compos

Sync Wordpress Pages and Posts (even custom post types + fields) from static Markdown + YAML files

Sync Markdown Files to WordPress Posts and Pages Static site generators let you use a revision-controlled tree of markdown files to make a site, but d

WordPress plugin renames image filenames to be more SEO friendly, based on the post's data and image metadata.

=== Automatic image Rename === Contributors: wpsunshine Tags: image, images, SEO, rename, optimization Requires at least: 5.0 Tested up to: 6.2.2 Stab

A bot written in PHP which attempts to link IRC with SQL database, allowing for integration between platforms

Valeyard IRC-SQL-GateWay A bot written in PHP which attempts to link IRC with SQL database, allowing for integration between platforms. This bot is mo

Source control integration plugin framework for MantisBT, including support for Github, Gitlab, Bitbucket, Gitweb, Cgit, Subversion, Mercurial and more

Source control integration plugin framework for MantisBT, including support for Github, Gitlab, Bitbucket, Gitweb, Cgit, Subversion, Mercurial and more

Paddle.com API integration for Laravel with support for webhooks/events

Laravel Paddle This package provides an integration with Paddle.com for Laravel. Read the blogpost about the introduction of the package! Features Sup

Comments
  • Use index file directory as base instead of $_SERVER['DOCUMENT_ROOT']

    Use index file directory as base instead of $_SERVER['DOCUMENT_ROOT']

    Use base directory of index file as Root -> dirname(__FILE__)

    instead of $_SERVER['DOCUMENT_ROOT']

    Because this server variable set by Apache or Nginx points to a default document root folder (eg /html or /www) and doesn't work on a subdomain or a virtual host environment.

    So if you install archie on a subdomain and not in your severs "main" web root, it won't find the config files. So better use the index.php and/or api.php files as root, then it will work everywhere.

    Cheers ;-)

    opened by exophunk 1
  • [Update] Rename config.php to config.sample.php to allow for CD

    [Update] Rename config.php to config.sample.php to allow for CD

    We use continuous deployment and want to deploy without having to worry about the config.php getting overwritten. As seen in Wordpress: wp-config-sample.php

    opened by d-simon 0
Owner
Lukas Gächter
Partner at @mindkomm and @timber contributor.
Lukas Gächter
PHP OOP interface for writing Slack Block Kit messages and modals

Slack Block Kit for PHP ?? For formatting messages and modals for Slack using their Block Kit syntax via an OOP interface ?? By Jeremy Lindblom (@jere

Slack PHP Framework 32 Dec 20, 2022
Make a Laravel app respond to a slash command from Slack

Make a Laravel app respond to a slash command from Slack This package makes it easy to make your Laravel app respond to Slack's Slash commands. Once y

Spatie 239 Nov 18, 2022
A simple PHP package for sending messages to Slack, with a focus on ease of use and elegant syntax.

Slack for PHP A simple PHP package for sending messages to Slack with incoming webhooks, focussed on ease-of-use and elegant syntax. Note: this packag

Regan McEntyre 1.2k Oct 29, 2022
A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package.

Net A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package. Features: No hard dependencies; Favours

Minibase 16 Jun 7, 2022
A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package.

Net A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package. Features: No hard dependencies; Favours

Minibase 16 Jun 7, 2022
An open source Minecraft server (true-og.net)

true-og An open source Minecraft server (true-og.net) Website forked from aviel900 https://www.spigotmc.org/resources/minecraft-one-page-template.5973

Alex Noyle 0 Nov 28, 2022
Community-created, unofficial PHP SDK for the Skynet Decentralized Internet Network. siasky.net

Skynet PHP SDK This SDK is a community-created, unofficial SDK in PHP for the Skynet Decentralized Internet Network. It is taken as primarily a port f

Derrick Hammer 4 Dec 26, 2022
This is Laravel Framework. Referral User Management System, Payment using Coinpayment.net. etc

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Worlddev5007 12 Aug 26, 2022
Plugin de Wordpress para criar um Hacker News-like para o ManualdoUsuario.net

?? Órbita Plugin de Wordpress para criar um painel de debates baseado em links, similar ao Hacker News, para o Manual do Usuário. Rodar o projeto Requ

Gabriel Nunes 7 Nov 14, 2022
Simple game server with php without socket programming. Uses the Api request post(json).

QMA server Simple game server with php without socket programming. Uses the Api request post(json). What does this code do? Register the user as a gue

reza malekpour 3 Sep 4, 2021