kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
fix: use default channel and update tests
rodzic
df03a81ddf
commit
ba7e9709f7
|
@ -56,16 +56,16 @@ export type SlackBlock = {
|
||||||
}
|
}
|
||||||
|
|
||||||
export type SlackPostMessageParams = {
|
export type SlackPostMessageParams = {
|
||||||
/**
|
|
||||||
* The ID of the channel to send the message to.
|
|
||||||
*/
|
|
||||||
channel: string
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The text of the message to send.
|
* The text of the message to send.
|
||||||
*/
|
*/
|
||||||
text: string
|
text: string
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ID of the channel to send the message to.
|
||||||
|
*/
|
||||||
|
channel?: string
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The timestamp of a parent message to send the message as a reply to.
|
* The timestamp of a parent message to send the message as a reply to.
|
||||||
*/
|
*/
|
||||||
|
@ -165,8 +165,14 @@ export class SlackClient {
|
||||||
* Sends a message to a channel.
|
* Sends a message to a channel.
|
||||||
*/
|
*/
|
||||||
public async sendMessage(options: SlackPostMessageParams) {
|
public async sendMessage(options: SlackPostMessageParams) {
|
||||||
|
if (!options.channel && !this.defaultChannel) {
|
||||||
|
throw new Error('Error: No channel specified')
|
||||||
|
}
|
||||||
const res = await this.api.post('chat.postMessage', {
|
const res = await this.api.post('chat.postMessage', {
|
||||||
json: options
|
json: {
|
||||||
|
channel: this.defaultChannel,
|
||||||
|
...options
|
||||||
|
}
|
||||||
})
|
})
|
||||||
return res.json<SlackMessage>()
|
return res.json<SlackMessage>()
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { SlackClient } from '@/services/slack'
|
||||||
import './_utils'
|
import './_utils'
|
||||||
|
|
||||||
test('SlackClient.sendMessage', async (t) => {
|
test('SlackClient.sendMessage', async (t) => {
|
||||||
if (!process.env.SLACK_API_KEY) {
|
if (!process.env.SLACK_API_KEY || !process.env.SLACK_DEFAULT_CHANNEL) {
|
||||||
return t.pass()
|
return t.pass()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,14 +13,13 @@ test('SlackClient.sendMessage', async (t) => {
|
||||||
const client = new SlackClient()
|
const client = new SlackClient()
|
||||||
|
|
||||||
const result = await client.sendMessage({
|
const result = await client.sendMessage({
|
||||||
text: 'Hello World!',
|
text: 'Hello World!'
|
||||||
channelId: 'D05B1AHA55L'
|
|
||||||
})
|
})
|
||||||
t.truthy(result)
|
t.truthy(result)
|
||||||
})
|
})
|
||||||
|
|
||||||
test('SlackClient.sendAndWaitForReply', async (t) => {
|
test('SlackClient.sendAndWaitForReply', async (t) => {
|
||||||
if (!process.env.SLACK_API_KEY) {
|
if (!process.env.SLACK_API_KEY || !process.env.SLACK_DEFAULT_CHANNEL) {
|
||||||
return t.pass()
|
return t.pass()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +30,6 @@ test('SlackClient.sendAndWaitForReply', async (t) => {
|
||||||
async () => {
|
async () => {
|
||||||
await client.sendAndWaitForReply({
|
await client.sendAndWaitForReply({
|
||||||
text: 'Please reply to this message with "yes" or "no"',
|
text: 'Please reply to this message with "yes" or "no"',
|
||||||
channelId: 'D05B1AHA55L',
|
|
||||||
validate: () => false, // never validate so we timeout
|
validate: () => false, // never validate so we timeout
|
||||||
timeoutMs: 1000,
|
timeoutMs: 1000,
|
||||||
intervalMs: 100
|
intervalMs: 100
|
||||||
|
|
Ładowanie…
Reference in New Issue