Documentation
¶
Index ¶
- Variables
- func CountEmoji(src string) (m map[string]int)
- type Contribution
- type Conversation
- func (c Conversation) Average() (words, letters float64)
- func (c Conversation) Contribution() (contrib Contribution)
- func (c Conversation) Count() int
- func (c Conversation) Duration() time.Duration
- func (c Conversation) Emoji() map[string]map[string]int
- func (c Conversation) First() (m *Message)
- func (c Conversation) Frequency() (m map[string]int)
- func (c Conversation) Last() (m *Message)
- func (c Conversation) Letters() int
- func (c Conversation) Participants() (p Participants)
- func (c Conversation) Timeline(period time.Duration) (t Timeline)
- func (c Conversation) Words() int
- type Insights
- type Message
- type Participants
- type Timeline
- type Type
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrInvalidMessage = fmt.Errorf("invalid message")
Functions ¶
func CountEmoji ¶
Types ¶
type Contribution ¶
type Contribution map[string]Conversation
func NewContribution ¶
func NewContribution(c Conversation) (contrib Contribution)
type Conversation ¶
type Conversation []*Message
func NewConversation ¶
func NewConversation(src string, tz string) (c Conversation, err error)
func (Conversation) Average ¶
func (c Conversation) Average() (words, letters float64)
func (Conversation) Contribution ¶
func (c Conversation) Contribution() (contrib Contribution)
func (Conversation) Count ¶
func (c Conversation) Count() int
func (Conversation) Duration ¶
func (c Conversation) Duration() time.Duration
func (Conversation) First ¶
func (c Conversation) First() (m *Message)
func (Conversation) Frequency ¶
func (c Conversation) Frequency() (m map[string]int)
func (Conversation) Last ¶
func (c Conversation) Last() (m *Message)
func (Conversation) Letters ¶
func (c Conversation) Letters() int
func (Conversation) Participants ¶
func (c Conversation) Participants() (p Participants)
func (Conversation) Words ¶
func (c Conversation) Words() int
type Insights ¶
type Insights struct {
First *Message `json:"first"`
Last *Message `json:"last"`
Duration time.Duration `json:"duration"`
Frequency map[string]int `json:"frequency"`
TotalMessages int `json:"totalMessages"`
TotalWords int `json:"totalWords"`
TotalLetters int `json:"totalLetters"`
AverageWordsPerMessage float64 `json:"averageWordsPerMessage"`
AverageLettersPerMessage float64 `json:"averageLettersPerMessage"`
Participants Participants `json:"participants"`
Contribution Contribution `json:"contribution"`
ContributionCount map[string]int `json:"contributionCount"`
ContributionWords map[string]int `json:"contributionWords"`
ContributionLetters map[string]int `json:"contributionLetters"`
ContributionFrequency map[string]map[string]int `json:"contributionFrequency"`
Timeline Timeline `json:"timeline"`
TimelineCount map[time.Time]int `json:"timelineCount"`
TimelineWords map[time.Time]int `json:"timelineWords"`
TimelineLetters map[time.Time]int `json:"timelineLetters"`
MostActiveDay time.Time `json:"mostActiveDay"`
MostActiveCount int `json:"mostActiveCount"`
LeastActiveDay time.Time `json:"leastActiveDay"`
LeastActiveCount int `json:"leastActiveCount"`
AverageMessagesPerDay float64 `json:"averageMessagesPerDay"`
AverageWordsPerDay float64 `json:"averageWordsPerDay"`
AverageLettersPerDay float64 `json:"averageLettersPerDay"`
EmojisUsed map[string]map[string]int `json:"emojisUsed"`
}
func New ¶
func New(c Conversation) *Insights
type Message ¶
type Participants ¶
type Participants []string
func NewParticipants ¶
func NewParticipants(c Conversation) (p Participants)
type Timeline ¶
type Timeline map[time.Time]Conversation
func NewTimeline ¶
func NewTimeline(c Conversation, d time.Duration) (t Timeline)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.
