Add more examples

This commit is contained in:
Elara 2023-10-05 13:20:12 -07:00
parent 8b669910e4
commit db30aeabf5
3 changed files with 92 additions and 1 deletions

View File

@ -9,7 +9,7 @@ import (
func main() { func main() {
ctx := context.Background() ctx := context.Background()
c, err := lemmy.New("https://lemmygrad.ml") c, err := lemmy.New("https://lemmy.ml")
if err != nil { if err != nil {
panic(err) panic(err)
} }

48
examples/comments/main.go Normal file
View File

@ -0,0 +1,48 @@
package main
import (
"context"
"log"
"go.elara.ws/go-lemmy"
)
func main() {
ctx := context.Background()
c, err := lemmy.New("https://lemmy.ml")
if err != nil {
panic(err)
}
err = c.ClientLogin(ctx, lemmy.Login{
UsernameOrEmail: "user@example.com",
Password: `TestPwd`,
})
if err != nil {
panic(err)
}
cr, err := c.CreateComment(ctx, lemmy.CreateComment{
PostID: 2,
Content: "Hello from go-lemmy!",
})
if err != nil {
panic(err)
}
cr2, err := c.CreateComment(ctx, lemmy.CreateComment{
PostID: 2,
ParentID: lemmy.NewOptional(cr.CommentView.Comment.ID),
Content: "Reply from go-lemmy",
})
if err != nil {
panic(err)
}
log.Printf(
"Created comment %d and replied to it with comment %d",
cr.CommentView.Comment.ID,
cr2.CommentView.Comment.ID,
)
}

43
examples/posts/main.go Normal file
View File

@ -0,0 +1,43 @@
package main
import (
"context"
"log"
"go.elara.ws/go-lemmy"
)
func main() {
ctx := context.Background()
c, err := lemmy.New("https://lemmy.ml")
if err != nil {
panic(err)
}
// Log in to lemmy.ml
err = c.ClientLogin(ctx, lemmy.Login{
UsernameOrEmail: "user@example.com",
Password: `TestPwd`,
})
if err != nil {
panic(err)
}
// Get the linux community to get its ID.
gcr, err := c.Community(ctx, lemmy.GetCommunity{
Name: lemmy.NewOptional("linux"),
})
if err != nil {
panic(err)
}
// Create a Hello World post in the linux community.
pr, err := c.CreatePost(ctx, lemmy.CreatePost{
CommunityID: gcr.CommunityView.Community.ID,
Name: "Hello, World!",
Body: lemmy.NewOptional("This is an example post"),
})
log.Println("Created post:", pr.PostView.Post.ID)
}