enricostara / telegram.link

Telegram API library (javascript, node.js)
www.telegram.link
MIT License
334 stars 59 forks source link

Status of project? #1

Closed walliski closed 9 years ago

walliski commented 10 years ago

Hi

Was thinking about making an irc->Telegram gateway, and found this to be looking interesting? Is the project status up to date with the readme, or how far have you come?

Thanks, Walliski

enricostara commented 10 years ago

Hi Walliski,

the readme file is up to date. I'm currently adding the core classes to the project in order to be more comfortable and stable before starting with the API main use cases.

The first API function that will be available in short will be the method to obtain the authorization key from Telegram.

Best Enrico

enricostara commented 9 years ago

Hi,

a short project update after 6 weeks:

Enrico

ImTheDeveloper commented 9 years ago

Great to see this work. I watch this repo daily so I can move away from parsing the CLI

enricostara commented 9 years ago

I'm happy to hear it :)

ImTheDeveloper commented 9 years ago

Let me know if you need help on anything I'm happy to contribute. Otherwise keep up the good work I will most definitely be incorporating this into my current project. You have definitely got the right setup and ideas here in my opinion.

On 19:18, Tue, 2 Dec 2014 Enrico Stara notifications@github.com wrote:

I'm happy to hear it :)

— Reply to this email directly or view it on GitHub https://github.com/enricostara/telegram.link/issues/1#issuecomment-65287199 .

enricostara commented 9 years ago

That's very kind! ..therefore, your feedbacks will be a valuable asset for this project, that's for sure :)

rousso1 commented 9 years ago

Looking forward to the auth.sendCode, auth.signUp and auth.signIn implementations... :)

francisbrito commented 9 years ago

:+1: to @rousso1's comment. This project is precisely what I was looking for!

m-derevyanko commented 9 years ago

I'm waiting for the first work version too :)

enricostara commented 9 years ago

Hi, I'm currently working on the EncryptedMessage, it's the corner stone for every communication with Mtproto. I hope to write code again on regular basis

elad commented 9 years ago

@enricostara please post a todo list of sorts, I'd like to help with the coding. I'm very interested in having an MIT-licensed API to Telegram.

enricostara commented 9 years ago

Hi, a first working version should be released soon

I'm thinking how to involve coders interested to have a complete and working project.

A key point could be creating a straightforward client project (on GitHub, MIT licensed) that uses telegram.link in a real context in order to code the major use cases and test all the functions hard to check without a real time integration with Telegram server. Basically, we could write something that represents just a good example to develop any kind of telegram-client with telegram.link

walliski commented 9 years ago

Awesome! Good job!

enricostara commented 9 years ago

thanks! :)

sebastianarena commented 9 years ago

Awesome stuff @enricostara. Really. Greetings from us here, we are a bunch of people expecting your awesome library to be finished. Let us know if you need any help. The more I read about the MTProto and TL the less I think I understand. Even after reading your code. Ha.

I have a working project on some other platforms, and can't wait to integrate it with Telegram.

I wanted to suggest a wiki page here on github to let us know the status of the project, so we don't bother you here in the issues :)

Regards!

kaue commented 9 years ago

:+1: The project looks awsome!

enricostara commented 9 years ago

Hi,

the EncryptedRpcChannel finally is working and the very first encrypted call sendCode was integrated in the library.

It's only the first step but I really hope that, starting from this point, add a new feature could be more straightforward..

I added the Termgram project, in order to provide an 'how to' for the library. It's a very simple application and it's actually able to ask to Telegram to send the registration code to your phone. As soon as a new feature will be available in the library it will be exploited and tested by Termgram.

sebastianarena commented 9 years ago

Awesome news!

elad commented 9 years ago

@enricostara you are the man, excellent job! And again, if some of the work can be broken down or explained so other folks can jump in and help, please help us help you. :)

enricostara commented 9 years ago

Thanks guys! your support inspires me to keep going :)

I think that the whole api is big enough to split this work in more devs, but I need to better shape the framework before

jeroenrinzema commented 9 years ago

@enricostara when do you think that you are finished with building the option to send and receive messages?

enricostara commented 9 years ago

I'm near to complete the user authorization, next step should be get the contacts and start to send/receive the text messages

pferraris commented 9 years ago

Hi @enricostara! I'm examining telegram.link. I have added a few methods (auth.signIn and updates.getState) in telegram.link.js, and I have enabled all methods loading in api.js passing a null value for "methods" parameter in buildTypes call. Calling auth.signIn works fine and I receive auth.Authorization response. Then, when I call updates.getState, I get an Updates object but tl-node can't deserialize it. Updates has a Vector, a Vector & a Vector members. When it try deserialize, it instantiate a TypeVector with "options.type = Update" (or User or Chat), TypeVector constructor calls manageType with type name, and it calls requireTypeByName. As there is no constructor called that way it raises an exception. Shouldn't require the type by id instead? If you need more details, let me know. Thanks and sorry for my English :)

enricostara commented 9 years ago

I checked your issue but I don't find the Updates and Vector types:

https://core.telegram.org/method/updates.getState

Tell me more :)

pferraris commented 9 years ago

It's true, updates.GetState must return a updates.State object, but I think this activates the updates mechanism before (https://core.telegram.org/api/updates). So before receiving updates.State object I receive an Updates object. I'd like to help with the development of this library, because I think that is great. If you want, I can share the modified code using a pull request.

enricostara commented 9 years ago

Ok, good! I knew that the Vector needs to use requireTypeById instead of byName, it's mandatory for deserialise the polymorphic internal type. Currently I'm still working on an another deep problem on the protocol (the EncryptedMessage has to use also the MessageContainer type to be able to send more than one msg..) in order to send back the acknowledgement to the server on rcp-result asap.. therefore feel free to pull the request, and related unit-test ;) ..and many thanks!

jploh commented 9 years ago

@pferraris - Did you create a pull request? I would like to see what changes you made.

enricostara commented 9 years ago

See the last comment on this topic here: https://github.com/enricostara/telegram.link/wiki/Project-Status