func NewCryptoBoard(clientID string, items []string, token string, name string, header string, nickname bool, color bool, frequency int, updated *prometheus.GaugeVec, cache *redis.Client, context context.Context) *Board {
	b := &Board{
		Items:     items,
		Name:      name,
		Header:    header,
		Nickname:  nickname,
		Color:     color,
		Frequency: frequency,
		ClientID:  clientID,
		Cache:     cache,
		Context:   context,
		updated:   updated,
		token:     token,
		close:     make(chan int, 1),
	}
	b.Start()
	return b
}
NewCrypto saves information about the crypto and starts up a watcher on it
package main
import (
	"context"
	"fmt"
	"strings"
	"time"
	"github.com/bwmarrin/discordgo"
	"github.com/go-redis/redis/v8"
	"github.com/prometheus/client_golang/prometheus"
	"github.com/rssnyder/discord-stock-ticker/utils"
)
type Board struct {
	Items      []string             `json:"items"`
	Name       string               `json:"name"`
	Header     string               `json:"header"`
	Nickname   bool                 `json:"nickname"`
	Color      bool                 `json:"color"`
	Percentage bool                 `json:"percentage"`
	Arrows     bool                 `json:"arrows"`
	Frequency  int                  `json:"frequency"`
	ClientID   string               `json:"client_id"`
	Price      int                  `json:"-"`
	Cache      *redis.Client        `json:"-"`
	Context    context.Context      `json:"-"`
	updated    *prometheus.GaugeVec `json:"-"`
	token      string               `json:"-"`
	close      chan int             `json:"-"`
}
func NewStockBoard(clientID string, items []string, token string, name string, header string, nickname bool, color bool, frequency int, updated *prometheus.GaugeVec) *Board {
	b := &Board{
		Items:     items,
		Name:      name,
		Header:    header,
		Nickname:  nickname,
		Color:     color,
		Frequency: frequency,
		ClientID:  clientID,
		updated:   updated,
		token:     token,
		close:     make(chan int, 1),
	}
	go b.watchStockPrice()
	return b
}