是否可以在 slack 中创建一个具有动态名称的机器人,或者根据给定的情况以不同的名称发布?
问问题
572 次
3 回答
0
通过传入的 webhook 发送消息时,您可以选择发送一个参数,该参数username
指定将出现的名称,即
{
"text": "the message i'm sending",
"username": "whatever-name-you-want"
}
(您还可以使用icon_url
带有指向所需图像的 URL 值的参数在每条消息上指定不同的图标)
于 2015-03-22T22:50:30.300 回答
0
是的,这是 perl 中的一个示例,它使用主机名和 pid 来生成机器人的名称。
sub slack {
my ( $message ) = @_;
use LWP::UserAgent;
use HTTP::Request;
use Sys::Hostname;
my $uri = "https://hooks.slack.com/services/"
. "this-is-your-api-key";
my $json = '{"channel": "#example_channel", '
. '"username": "' . hostname . "." . $$ . '", '
. '"text": "' . $message . '", '
. '"icon_emoji": ":trollface:"}' ;
my $request = HTTP::Request->new( 'POST', $uri );
$request->header( 'Content-Type' => 'application/json' );
$request->content( $json );
my $agent = LWP::UserAgent->new;
my $result = $agent->request( $request );
}
于 2015-03-16T10:14:52.060 回答
0
是的,这是可能的。
https://api.slack.com/methods/chat.postMessage#sending_messages_as_other_entities
Javascript 示例:
await client.chat.postMessage({
channel: "C12345",
text: "Random message",
username: "John Doe",
icon_url: "https://upload.wikimedia.org/wikipedia/commons/1/12/Profile_avatar_generic.png"
});
更完整的实现可能类似于:
const triggerRegExp = new RegExp('^(Hello).*', 'i');
app.message(triggerRegExp, async (payload) => {
({ message, client } = payload);
await client.chat.postMessage({
channel: message.channel,
text: "Random message",
username: "John Doe",
icon_url: "https://upload.wikimedia.org/wikipedia/commons/1/12/Profile_avatar_generic.png"
});
});
于 2021-06-09T14:53:55.977 回答