• NEW: Chat!
    • Initialize your bot with emitChatEvents: true and listen for chat messages with bot.on("message", (message) => {}). Read more about it in Chatting with Users!
    • The Conversation class represents a conversation with a user.
    • The ChatMessage and DeletedChatMessage classes represent chat messages.
    • New properties/methods on Profile: incomingChatPreference, getConversation(), getMessages(), sendMessage().
    • New methods on Bot: getConversationForMembers(), getConversation(), listConversations(), getConversationMessages(), sendMessage(), sendMessages(), leaveConversation(), setChatPreference().
  • NEW: Labeling!
    • You can now subscribe to and publish labels. Note that you will need an active Ozone instance to be able to publish labels.
    • The Labeler class represents a labeler service.
    • New properties/methods on Profile: isLabeler, getLabeler(), labelAccount(), negateAccountLabels(), labelProfile(), negateProfileLabels().
    • New methods on PostReference and Post: label(), negateLabels().
    • New methods on List: label(), negateLabels().
    • New methods on FeedGenerator: label(), negateLabels().
    • New methods on Bot: getLabeler(), getLabelers(), addLabeler(), removeLabeler(), label(), negateLabels(), declareLabeler(), deleteLabelerDeclaration().
  • Now uses file headers to determine content type when an image URL is used in a post.
  • Embeds now correctly link to the specified URL.
  • @ will be automatically prepended to mentions created with the RichText class.
  • Added the Bot#putRecord method.
  • Several redundant interfaces for Bot methods have been replaced with BaseBotGetMethodOptions.