Skip to content

Instantly share code, notes, and snippets.

View LINE_Flex_Fixed_CuttingText.json
{
"type": "bubble",
"hero": {
"type": "image",
"url": "https://scdn.line-apps.com/n/channel_devcenter/img/fx/01_1_cafe.png",
"size": "full",
"aspectRatio": "20:13",
"aspectMode": "cover",
"action": {
"type": "uri",
View docker-compose.yaml
version: '3'
volumes:
postgres_data:
driver: local
services:
postgres:
image: postgres
volumes:
View trello_line_webhook_tasklist.ts
export const webhookLINE = functions.region(REGION).https.onRequest( async(req, res) => {
console.log('🚀 Start Webhook!!', JSON.stringify(req.body) )
if(!req.body.events) { res.status(200).end()}
const event = req.body.events[0]
if(typeof(event) === 'undefined') { res.status(200).end()}
try {
await util_line.verify_signature(req, res)
View trello_msg_tasklist.ts
// ส่วนข้อความขึ้นต้น Task List
const changeHead = (boardName: string, changeDate: string) => ([
{
"type": "text",
"text": `ข้อมูล Change ของ ${boardName} ณ.วันที่ ${changeDate}`,
"size": "xs",
"color": "#8C8C8C",
},
])
View trello_line_webhook_boardlist.ts
export const webhookLINE = functions.region(REGION).https.onRequest( async(req, res) => {
console.log('🚀 Start Webhook!!', JSON.stringify(req.body) )
if(!req.body.events) { res.status(200).end()}
const event = req.body.events[0]
if(typeof(event) === 'undefined') { res.status(200).end()}
try {
await util_line.verify_signature(req, res)
let replyMessage: any = null
View trello_msg_boardList.ts
// ส่วน Carousel
const boardMain = (boardItems: any) => ([{
"type": "flex",
"altText": "My Board",
"contents": {
"type": "carousel",
"contents": boardItems,
},
}])
View trello_webhook_request.ts
{
"model": {
"name": "Test",
"id": "5e9460..........cbab52c1",
},
"action": {
"appCreator": null,
"data": {
"card": {
"name": "card2",
View trello_webhook.ts
export const webhookTrello = functions.region(REGION).https.onRequest( async(req, res) => {
const action = req.body.action
if(action && action.display.translationKey !== 'unknown') {
const data = {
action: action,
changeTime: Date.now() + 25200000,
}
const board = action.data.board
board.changeTime = Date.now() + 25200000
await firestore.collection('board').doc(action.data.board.id).set(board)
View dailynews_flex.json
{
"type": "bubble",
"size": "giga",
"body": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "box",
"layout": "vertical",
View codelab_firestore.ts
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
const db = admin.firestore();
// Start writing Firebase Functions
// https://firebase.google.com/docs/functions/typescript
export const helloWorld = functions.https.onRequest((request, response) => {
functions.logger.info("Hello logs!", {structuredData: true});