slacts package - github.com/crowdworks/slacts - Go Packages

slacts

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2024 License: MIT Imports: 6 Imported by: 0

README

slacts

GoDoc CircleCI Go Report Card GolangCI

A CLI tool for Slack statistics

Getting Started

Prerequisites
Generate Slack Token

To get Slack token, access here: https://api.slack.com/custom-integrations/legacy-tokens

Set Slack token

Install direnv.

$ brew install direnv # macOS

Copy .envrc from .envrc.sample and set Slack token.

$ cp .envrc.sample .envrc
$ vi .envrc

export SLACK_API_TOKEN=xxxxxxxxxxxxxxxxxxx
Run
$ go run cmd/slacts/main.go slack count "in#general @channel"
result: 12

or

$ make install
go install github.com/crowdworks/slacts/cmd/slacts

$ slacts slack count "in#general @channel"
result: 12

Synopsis

slacts slack count <slack_search_term>

Returns the number of search result. Please refer Guide to search in Slack.

License

MIT

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SlackClient

type SlackClient struct {
	Client SlackRequester
}

SlackClient is api client for slack request

func NewSlackClient

func NewSlackClient(token string, httpclient *http.Client) *SlackClient

NewSlackClient returns SlackClient object. arg httpclient for using custom http.Client. So this can be nil.

For example, NewSlackClient('YOUR_TOKEN', urlfetch.Client(ctx))

func (*SlackClient) CountQuery

func (sc *SlackClient) CountQuery(ctx context.Context, query *SlackQuery) (int, error)

CountQuery returns count of matches with query

type SlackQuery

type SlackQuery string

SlackQuery for slack message search

func NewSlackQuery

func NewSlackQuery(query string) *SlackQuery

NewSlackQuery is initializer of Slack query

func (*SlackQuery) Date

func (q *SlackQuery) Date() (*time.Time, error)

Date returns date

type SlackRequester

type SlackRequester interface {
	SearchMessagesContext(context.Context, string, slack.SearchParameters) (*slack.SearchMessages, error)
}

SlackRequester is interface that wrap slack.Client only methods this package needs

Directories

Path Synopsis
cmd
slacts command
Package config defines what environment variables should be defined for each objects
Package config defines what environment variables should be defined for each objects
Package report provides sending metric to metrics services
Package report provides sending metric to metrics services

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL