# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 31
# self = https://watcher.sour.is/conv/qn4y6wa
@xuu Nice! What’ll it be used for? πŸ€”
@xuu Nice! What’ll it be used for? πŸ€”
@xuu Nice! What’ll it be used for? πŸ€”
@xuu What language?
@xuu What language?
@xuu What language?
@prologic I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for [ParseFile](https://github.com/jointwt/twtxt/blob/master/internal/twt.go#)

Kinda wish [types.Twt](https://github.com/jointwt/twtxt/blob/master/types/twt.go#) was an interface. it's sooo close.
@prologic I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for ParseFile](https://github.com/jointwt/twtxt/blob/master/internal/twt.go# https://txt.sour.is/search?tag=L284>) \n\nKinda wish types.Twt](https://github.com/jointwt/twtxt/blob/master/types/twt.go# https://txt.sour.is/search?tag=L53>) was an interface. it's sooo close.
@prologic I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for [ParseFile](https://github.com/jointwt/twtxt/blob/master/internal/twt.go#) \n\nKinda wish [types.Twt](https://github.com/jointwt/twtxt/blob/master/types/twt.go#) was an interface. it's sooo close.
@prologic I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for [ParseFile](https://github.com/jointwt/twtxt/blob/master/internal/twt.go#)

Kinda wish [types.Twt](https://github.com/jointwt/twtxt/blob/master/types/twt.go#) was an interface. it's sooo close.
@prologic I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for [ParseFile](https://github.com/jointwt/twtxt/blob/master/internal/twt.go#) \n\nKinda wish [types.Twt](https://github.com/jointwt/twtxt/blob/master/types/twt.go#) was an interface. it's sooo close.
@prologic I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for [ParseFile](https://github.com/jointwt/twtxt/blob/master/internal/twt.go#)

Kinda wish [types.Twt](https://github.com/jointwt/twtxt/blob/master/types/twt.go#) was an interface. it's sooo close.
@xuu I _would_ absolutely love you to contribute! Please do! ❀️ If types.Twt is close enough, let's make it an Interface :) Why not! What kind of interface are you thinking about anyway?
@xuu I _would_ absolutely love you to contribute! Please do! ❀️ If types.Twt is close enough, let's make it an Interface :) Why not! What kind of interface are you thinking about anyway?
@xuu I _would_ absolutely love you to contribute! Please do! ❀️ If types.Twt is close enough, let's make it an Interface :) Why not! What kind of interface are you thinking about anyway?
@prologic so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.\n\n
o
type Twt interface {
\tTwter()        Twter
\tText()         string
\tMarkdownText() string
\tCreated()      time.Time
    ... 
}
@prologic so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.\n\n
go\ntype Twt interface {\n\tTwter()        Twter\n\tText()         string\n\tMarkdownText() string\n\tCreated()      time.Time\n    ... \n}\n
@prologic so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.

o
type Twt interface {
	Twter()        Twter
	Text()         string
	MarkdownText() string
	Created()      time.Time
    ... 
}
@prologic so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.

o
type Twt interface {
	Twter()        Twter
	Text()         string
	MarkdownText() string
	Created()      time.Time
    ... 
}
@prologic so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.

o
type Twt interface {
\tTwter()        Twter
\tText()         string
\tMarkdownText() string
\tCreated()      time.Time
    ... 
}
@prologic so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.

o
type Twt interface {
\tTwter()        Twter
\tText()         string
\tMarkdownText() string
\tCreated()      time.Time
    ... 
}
@prologic when i get the code up to a shareable level ill ping with what i have.
@prologic when i get the code up to a shareable level ill ping with what i have.
@prologic when i get the code up to a shareable level ill ping with what i have.
@prologic when i get the code up to a shareable level ill ping with what i have.
@xuu We _could_ do that. PR?
@xuu We _could_ do that. PR?
@xuu We _could_ do that. PR?
@xuu Cool πŸ‘Œ
@xuu Cool πŸ‘Œ
@xuu Cool πŸ‘Œ