func (ts tradeStore) AddOffer(tradeID, tradeOffer string, user *discordgo.User) error {
	ts.m.Lock()
	defer ts.m.Unlock()
	new := TradeOfferer{
		User:  user,
		Offer: tradeOffer,
	}
	val := ts.ts[tradeID]
	if containsUser(user, val.Offers) {
		return errors.New("user already in trade")
	}
	if val.DiscordUser.ID == user.ID {
		return errors.New("you cannot offer for your own trade")
	}
	ts.ts[tradeID].Offers = append(ts.ts[tradeID].Offers, new)
	return nil
}
// AddOffer will track an offer to a tradeID
//
// This func will return an err if the user is already in trade, else nil
AddOffer will track an offer to a tradeID

This func will return an err if the user is already in trade, else nil
// AddOffer will track an offer to a tradeID // // This func will return an err if the user is already in trade else nil
func (ts tradeStore) AddOffer(tradeID, tradeOffer string, user *discordgo.User) error {
	ts.m.Lock()
	defer ts.m.Unlock()
	new := TradeOfferer{
		User:  user,
		Offer: tradeOffer,
	}
	val := ts.ts[tradeID]
	if containsUser(user, val.Offers) {
		return errors.New("user already in trade")
	}
	if val.DiscordUser.ID == user.ID {
		return errors.New("you cannot offer for your own trade")
	}
	ts.ts[tradeID].Offers = append(ts.ts[tradeID].Offers, new)
	return nil
}
func ( ts tradeStore ) AddOffer ( tradeID , tradeOffer string , user * discordgo . User ) error { ts . m . Lock ( ) defer ts . m . Unlock ( ) new := TradeOfferer { User : user , Offer : tradeOffer , } val := ts . ts [ tradeID ] if containsUser ( user , val . Offers ) { return errors . New ( " " ) } if val . DiscordUser . ID == user . ID { return errors . New ( " " ) } ts . ts [ tradeID ] . Offers = append ( ts . ts [ tradeID ] . Offers , new ) return nil }
AddOffer will track an offer to a tradeID
AddOffer will track an offer to a tradeID