feat(Update the way SlackMessage works and create a proper readme):
This commit is contained in:
35
ts/index.ts
35
ts/index.ts
@ -1,33 +1,2 @@
|
||||
import * as plugins from './slackme.plugins'
|
||||
import { SlackMessage } from './slackme.classes.slackmessage'
|
||||
export interface ISlackmeMessage {
|
||||
message: string,
|
||||
author: string,
|
||||
|
||||
}
|
||||
|
||||
export {
|
||||
SlackMessage
|
||||
}
|
||||
|
||||
export class Slackme {
|
||||
private baseUrl = 'https://hooks.slack.com/services/'
|
||||
private postRoute: string
|
||||
constructor (postRouteArg: string) {
|
||||
this.postRoute = postRouteArg
|
||||
}
|
||||
|
||||
sendMessage(messageArg: SlackMessage, channelArg: string = 'general') {
|
||||
plugins.smartrequest.post(`${this.baseUrl}${this.postRoute}`,{
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
requestBody: {
|
||||
channel: channelArg,
|
||||
attachments: [
|
||||
messageArg.messageOptions
|
||||
]
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
export * from './slackme.classes.slackme'
|
||||
export * from './slackme.classes.slackmessage'
|
||||
|
24
ts/slackme.classes.slackme.ts
Normal file
24
ts/slackme.classes.slackme.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import * as plugins from './slackme.plugins'
|
||||
import { IMessageOptions } from './slackme.classes.slackmessage'
|
||||
|
||||
export class Slackme {
|
||||
private baseUrl = 'https://hooks.slack.com/services/'
|
||||
private postRoute: string
|
||||
constructor (postRouteArg: string) {
|
||||
this.postRoute = postRouteArg
|
||||
}
|
||||
|
||||
sendMessage(messageOptionsArg: IMessageOptions, channelArg: string = 'general') {
|
||||
plugins.smartrequest.post(`${this.baseUrl}${this.postRoute}`,{
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
requestBody: {
|
||||
channel: channelArg,
|
||||
attachments: [
|
||||
messageOptionsArg
|
||||
]
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
import * as plugins from './slackme.plugins'
|
||||
import { Slackme } from './slackme.classes.slackme'
|
||||
|
||||
export interface IAttachmentField {
|
||||
title: string
|
||||
@ -55,8 +56,17 @@ export interface IMessageOptions {
|
||||
}
|
||||
|
||||
export class SlackMessage {
|
||||
slackmeRef: Slackme
|
||||
messageOptions: IMessageOptions
|
||||
constructor(messageOptions: IMessageOptions) {
|
||||
this.messageOptions = messageOptions
|
||||
constructor(messageOptionsArg: IMessageOptions, slackmeArg?: Slackme) {
|
||||
if (slackmeArg) {
|
||||
this.slackmeRef = slackmeArg
|
||||
}
|
||||
this.messageOptions = messageOptionsArg
|
||||
}
|
||||
sendToRoom(roomNameArg: string) {
|
||||
if(this.slackmeRef) {
|
||||
this.slackmeRef.sendMessage(this.messageOptions, roomNameArg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,3 @@
|
||||
import 'typings-global'
|
||||
|
||||
import * as smartrequest from 'smartrequest'
|
||||
|
||||
export {
|
||||
|
Reference in New Issue
Block a user