기술자를 지원하는 고양이 - Nyan bot을 만들었습니다.
개요
기술(자)를 지지하는 고양이라고 하는 것으로 「냥-」이라고 발언하면, 희미하게 고양이 화상을 돌려 주는 bot를 만들어 보았습니다.
배경
날마다 보내고 있어 「냐ー」라고 발언할 기회 많다고 생각합니다만, slack에서 「냐ー」라고 해도 아무런 반응 없이 허하게 흘러가는 것을 바라보는 것은 괴롭다고 생각했기 때문에 만들었습니다.
(덧붙여서 이 bot를 지인의 slack로 운용하고 있습니다만, 비교적 이용률이 높아서 기쁩니다)
구현
Slack 측은 Outgoing webhook을 이용해, 백엔드는 AWS의 API Gateway+Lambda로 만들고 있습니다.
(Outgoing webhook은 deprecated가 될 예정이라고 하므로, 곧 Slack App을 사용한 구현으로 고치고 싶습니다)
고양이 이미지는 어쩐지 타피. 작은 m에서 제공하는 Api를 사용합니다.
정지화상보다 동영상 쪽이 기쁘다고 생각했으므로 이번은 gif로 취해 오도록(듯이) 하고 있습니다.
Lambda 소스
람다const https = require('https');
const API_URL = "https://api.thecatapi.com/v1/images/search?format=json&mime_types=gif";
exports.handler = (event, context, callback) => {
https.get(API_URL, (res) => {
res.setEncoding('utf8');
res.on('data', (str) => {
const data = JSON.parse(str);
callback(null, {
username: "cat",
text: data[0].url
});
});
});
};
요약
이런 식으로 API Gateway+Lambda를 이용하면 비교적 간단하게 만들 수 있고, 비용도 거의 걸리지 않고 slack bot를 운용할 수 있으므로 추천합니다.
물론 Cloud Functions 및 Azure Functions와 같은 다른 FaaS에서도 쉽게 구현할 수 있습니다.
이상, 전력으로 기술자를 지지하는 짱bot의 잡잡한 소개였습니다.
내일은, takahyon씨의 「LINE의 메세지를 Slack에 전송하는 Bot를 AWS로 작성해 본다.」입니다!
Reference
이 문제에 관하여(기술자를 지원하는 고양이 - Nyan bot을 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tenmihi/items/e3520877898a818e552b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
날마다 보내고 있어 「냐ー」라고 발언할 기회 많다고 생각합니다만, slack에서 「냐ー」라고 해도 아무런 반응 없이 허하게 흘러가는 것을 바라보는 것은 괴롭다고 생각했기 때문에 만들었습니다.
(덧붙여서 이 bot를 지인의 slack로 운용하고 있습니다만, 비교적 이용률이 높아서 기쁩니다)
구현
Slack 측은 Outgoing webhook을 이용해, 백엔드는 AWS의 API Gateway+Lambda로 만들고 있습니다.
(Outgoing webhook은 deprecated가 될 예정이라고 하므로, 곧 Slack App을 사용한 구현으로 고치고 싶습니다)
고양이 이미지는 어쩐지 타피. 작은 m에서 제공하는 Api를 사용합니다.
정지화상보다 동영상 쪽이 기쁘다고 생각했으므로 이번은 gif로 취해 오도록(듯이) 하고 있습니다.
Lambda 소스
람다const https = require('https');
const API_URL = "https://api.thecatapi.com/v1/images/search?format=json&mime_types=gif";
exports.handler = (event, context, callback) => {
https.get(API_URL, (res) => {
res.setEncoding('utf8');
res.on('data', (str) => {
const data = JSON.parse(str);
callback(null, {
username: "cat",
text: data[0].url
});
});
});
};
요약
이런 식으로 API Gateway+Lambda를 이용하면 비교적 간단하게 만들 수 있고, 비용도 거의 걸리지 않고 slack bot를 운용할 수 있으므로 추천합니다.
물론 Cloud Functions 및 Azure Functions와 같은 다른 FaaS에서도 쉽게 구현할 수 있습니다.
이상, 전력으로 기술자를 지지하는 짱bot의 잡잡한 소개였습니다.
내일은, takahyon씨의 「LINE의 메세지를 Slack에 전송하는 Bot를 AWS로 작성해 본다.」입니다!
Reference
이 문제에 관하여(기술자를 지원하는 고양이 - Nyan bot을 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tenmihi/items/e3520877898a818e552b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const https = require('https');
const API_URL = "https://api.thecatapi.com/v1/images/search?format=json&mime_types=gif";
exports.handler = (event, context, callback) => {
https.get(API_URL, (res) => {
res.setEncoding('utf8');
res.on('data', (str) => {
const data = JSON.parse(str);
callback(null, {
username: "cat",
text: data[0].url
});
});
});
};
이런 식으로 API Gateway+Lambda를 이용하면 비교적 간단하게 만들 수 있고, 비용도 거의 걸리지 않고 slack bot를 운용할 수 있으므로 추천합니다.
물론 Cloud Functions 및 Azure Functions와 같은 다른 FaaS에서도 쉽게 구현할 수 있습니다.
이상, 전력으로 기술자를 지지하는 짱bot의 잡잡한 소개였습니다.
내일은, takahyon씨의 「LINE의 메세지를 Slack에 전송하는 Bot를 AWS로 작성해 본다.」입니다!
Reference
이 문제에 관하여(기술자를 지원하는 고양이 - Nyan bot을 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tenmihi/items/e3520877898a818e552b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)