func (c *Connector) NewArticleRecord(filename, owner, date, title string) (bbs.ArticleRecord, error) {
	ret := &FileHeader{
		filename: filename,
		owner:    owner,
		date:     date,
		title:    title,
	}
	return ret, nil
}
NewArticleRecord returns a new ArticleRecord given a filename, owner, date, title
package pttbbs
import (
	"fmt"
	"math/rand"
	"os"
	"time"
	"github.com/Ptt-official-app/go-bbs"
	"github.com/Ptt-official-app/go-bbs/filelock"
)
func (c *Connector) CreateBoardArticleFilename(boardID string) (filename string, err error) {
	var f *os.File
	for {
		dtime := time.Now().Unix()
		filename = fmt.Sprintf("M.%d.A.%3.3X", dtime, rand.Intn(0x1000))
		path, err := c.GetBoardArticleFilePath(boardID, filename)
		if err != nil {
			return filename, err
		}
		f, err = os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_EXCL, 0644)
		if err == nil {
			break
		}
	}
	f.Close()
	return
}