Slack для разработчиков MODX Evolution



Slack — месседжер, заточенный под команды, с кучей классного функционала и хорошей расширяемостью.

На днях завели Slack для команды разработчиков Evo и всех заинтересованных. Присоединяйтесь!

Сейчас приглашения высылаем мы с Dmi3yy , кидайте адрес электронки кому-то из нас и вышлем приглашение. Если вдруг кто знает, как сделать команду публичной, чтобы вступить мог любой желающий — сообщите, пожалуйста.

В числе прочих имеется клиент для десктопа, настоятельно рекомендую к использованию: https://slack.com/downloads/windows.

Team domain: evocmf.slack.com.
  • avatar
  • +4
  • 1323

6 комментариев

avatar
Зачем он?
avatar
Это программа для обмена сообщениями, wiki.
avatar
Ага, понятно, спасибо.
avatar
Если вдруг кто знает, как сделать команду публичной, чтобы вступить мог любой желающий — сообщите, пожалуйста.
Польностью паблик не сделать, но облегчить жизнь, высылая автоинвайты — можно.
Есть такая штука на nodejs — rauchg.com/slackin/
Успешно работает на modx.org/ (это тот большой чат MODX, где революционеры :)
avatar
Приглашение отправлено)
avatar
Если вдруг кто знает, как сделать команду публичной, чтобы вступить мог любой желающий — сообщите, пожалуйста.
Нужно получить API-токен и слать запросы на полученный адрес. Команда для высылки приглашений не документирована, но прекрасно работает — это users.admin.invite

У меня используется примерно такой класс:
class Slack {
	/** @var modX $modx */
	public $modx;
	public $config = array();


	function __construct(modX $modx, array $config = array()) {
		$this->modx = $modx;
		$this->config = array_merge(array(
			'service' => 'https://вашканал.slack.com/api/',
			'token' => 'xoxp-18844352178-ваш-ключ',
		), $config);
	}


	public function request($method, array $options = array()) {
		$options['token'] = $this->config['token'];
		$result = array();
		
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $this->config['service'] . $method);
		curl_setopt($ch, CURLOPT_POST, count($options));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $options);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_TIMEOUT, 10);
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
		if ($response = curl_exec($ch)) {
			$result = json_decode($response, true);
		}
		curl_close($ch);
		
		return $result;
	}
}


Отправка приглашений происходит вот так:
$Slack = new Slack($modx);
$Slack->request('users.admin.invite', array('email' => $email));
if (!empty($result['ok'])) {
    return 'Success!';
} else {
    return 'Failure.';
}


Живой пример — modx.pro/chat/
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.