我正在使用slackbots(https://github.com/mishk0/slack-bot-api)创建一个交互式bot。 作为用户,我可以在聊天中发送消息,并让我的机器人根据我的写意给我答案。就像我输入:!weekend一样,我的机器人将通过获取API来回答周末是否接近。
这种方式工作
option batch abort
option confirm off
open sftp://sftpuser04:password123!@lynn-vs2.cloudapp.net -hostkey="ssh-ed25519 256 00:69:55:c8:a8:84:01:6d:7c:ff:9f:8c:89:b3:7d:67"
synchronize local C:\Users\****\OneDrive\Desktop\RaspPCAP /home/pi/Desktop/PCapFiles
exit
这次我有另一个函数调用天气api。该API会回复许多信息,并且 取决于天气的png链接。天气图标。
问题是,当我发回消息进行聊天时,它会发送图像链接,而我只是不知道如何在聊天中获取此链接作为图像。
bot.on('message', data => {
if (data.type !== 'message') {
return;
}
handleMessage(data.text);
});
function handleMessage(message) {
switch (message) {
case '!weekend':
case '!we':
fetchWeekendData();
break;
case '!apero':
case '!biere':
case '!pastis':
fetchAperoData();
break;
case '!meteo':
fetchWeatherData();
break;
case '!metro':
fetchMetroData('A');
fetchMetroData('R');
break;
case '!features':
getFeatures();
break;
}
}
function fetchWeekendData() {
axios.get('https://estcequecestbientotleweekend.fr/api',
).then(res => {
const weText = res.data.text;
postToChannel(`_Bientôt le week end ?_ : *${weText}*`);
});
}
function postToChannel(message) {
bot.postMessageToChannel(
'général',
message,
params
)
}
如果有人已经使用slack-bot-api并在其bot上发布了图像,我想知道您是如何做到的,因为我已经不明白了,slack api docs正在显示图像的JSON附件,但是我不知道如何在此程序包中使用它。
编辑:好的,这样就解决了
function fetchWeatherData() {
axios.get('http://api.weatherstack.com/current?access_key=myAPIkey&query=Paris&units=m',
).then(res => {
const location = res.data.location.name;
const icon = res.data.current.weather_icons;
const temperature = res.data.current.temperature;
const feelslike = res.data.current.feelslike;
const humidity = res.data.current.humidity;
postToChannel(`Météo à *${location}* : ${icon} \n>_Température_ : *${temperature}* °C _Ressenti_ : *${feelslike}* °C\n\n>_Humidité_ : *${humidity}* %`)
});
}
我添加了数组,并且效果很好,我只需要向同一数组中添加其他参数即可保持配置不变。
非常感谢@Erik Kalkoken!
答案 0 :(得分:0)
该库只能将参数转发到相应的Slack API方法chat.postMessage
。
要发布带有Slack的图片,您需要在attachment(已过时)或blocks中包含图片网址。
例如要附加图片和附件,您可以通过params
添加此数组:
{
"attachments":
[
{
"fallback": "this did not work",
"image_url": "https://a.slack-edge.com/80588/img/blocks/bkb_template_images/beagle.png"
}
]
}