leoMehlig/TDLib-iOS

Get messages from channel.

shmueldw opened this issue · 2 comments

Hi, Thank you a lot for your library

I created Coordinator with my API_ID and API_HASH
let coordinator = Coordinator(client: TDJsonClient(), apiId: myAppId, apiHash: myApiHash)
I want to listening for new messages for one of my channels and perform some job base on this message.
Can you please give me some example code to start. (I read the documentation, but it still not so clear for me. )

Thanks

You can subscribe to the Coordinator.updateStream and wait for newMessage events to come in. There you get a message. You can probably figure out if this is a new message from your channel. Let me know if you have any more questions...

My Code:

let coordinator = Coordinator(client: TDJsonClient(), apiId: 119..., apiHash: "e874...")
        coordinator.updateStream.subscribe(on: .global()) { data in
            print("data: \(data)")
        }

Output:
data: Optional(TDLib.Update.authorizationState(authorizationState: TDLib.AuthorizationState.waitTdlibParameters))
data: Optional(TDLib.Update.option(name: "test_mode", value: TDLib.OptionValue.boolean(value: false)))
data: Optional(TDLib.Update.option(name: "calls_enabled", value: TDLib.OptionValue.boolean(value: false)))
data: Optional(TDLib.Update.option(name: "t_me_url", value: TDLib.OptionValue.string(value: "https://t.me/")))
data: Optional(TDLib.Update.option(name: "message_caption_length_max", value: TDLib.OptionValue.integer(value: 1024)))
data: Optional(TDLib.Update.option(name: "pinned_chat_count_max", value: TDLib.OptionValue.integer(value: 5)))
data: Optional(TDLib.Update.option(name: "favorite_stickers_limit", value: TDLib.OptionValue.integer(value: 5)))
data: Optional(TDLib.Update.option(name: "venue_search_bot_username", value: TDLib.OptionValue.string(value: "foursquare")))
data: Optional(TDLib.Update.option(name: "photo_search_bot_username", value: TDLib.OptionValue.string(value: "bing")))
data: Optional(TDLib.Update.authorizationState(authorizationState: TDLib.AuthorizationState.waitEncryptionKey(isEncrypted: true)))
data: Optional(TDLib.Update.option(name: "supergroup_size_max", value: TDLib.OptionValue.integer(value: 200000)))
data: Optional(TDLib.Update.option(name: "call_packet_timeout_ms", value: TDLib.OptionValue.integer(value: 10000)))
data: Optional(TDLib.Update.option(name: "call_connect_timeout_ms", value: TDLib.OptionValue.integer(value: 30000)))
data: Optional(TDLib.Update.option(name: "animation_search_bot_username", value: TDLib.OptionValue.string(value: "gif")))
data: Optional(TDLib.Update.option(name: "forwarded_message_count_max", value: TDLib.OptionValue.integer(value: 100)))
data: Optional(TDLib.Update.authorizationState(authorizationState: TDLib.AuthorizationState.waitPhoneNumber))
data: Optional(TDLib.Update.selectedBackground(forDarkTheme: false, background: nil))
data: Optional(TDLib.Update.selectedBackground(forDarkTheme: true, background: nil))
data: Optional(TDLib.Update.option(name: "message_text_length_max", value: TDLib.OptionValue.integer(value: 4096)))
data: Optional(TDLib.Update.option(name: "basic_group_size_max", value: TDLib.OptionValue.integer(value: 200)))
data: Optional(TDLib.Update.option(name: "expect_blocking", value: TDLib.OptionValue.boolean(value: false)))
data: Optional(TDLib.Update.connectionState(state: TDLib.ConnectionState.connecting))

I don't have any messages in updateStream. Please help. Have I set the phone number using some method?