Closed llyppi closed 7 months ago
The default WTelegramClient session store (when you leave it null in constructor) doesn't generate session files in a format compatible with the stream of data expected when you give your own session store
If you want to pass your own (custom) file stream in constructor, start with an empty file and generate a new session (with verification code). It will update/write to that file a correct stream of data for later reuse/resume of the session.
Hello Please Provide Example I Have Exactly Same This Error ! I Create Session with this method clienttelegram = new WTelegram.Client(12XXX,"bXXXX",HttpContext.Current.Server.MapPath("~/tempkey.session")); Create File Session Successfully And Logon Ok ! But Afte Reuse Session Exception throw static string Config(string what) { switch (what) { case "api_id": return "12XXXXX"; case "api_hash": return "bd4XXXXXX"; case "phone_number": return "+9891XXXX"; case "verification_code": return ""; case "first_name": return ""; case "last_name": return ""; case "password": return ""; default: return null; } } clienttelegram = new WTelegram.Client(Config, File.Open(HttpContext.Current.Server.MapPath("~/tempkey.session"), FileMode.Open)); Please Help Me Thx
Yes, it's the same issue as OP
In one case you pass just the pathname
HttpContext.Current.Server.MapPath
and in the other case, you pass a FileStream
File.Open(HttpContext.Current.Server.MapPath
Those leads to different file storage formats that are incompatible. Either use only pathnames, or only FileStreams, but don't mix both to resume sessions.
When dealing with files, I recommend you only use pathnames (not FileStream), the format is optimized for performance.
To use a pathname with the Config callback constructor, have the Config method reply to "session_pathname".
hello thx for reply .
but when reuse session second contructor of WTelegram Accept Only Session
Can not pass string to second contructor of new Wtelegram
Second Time for resuse call :
clienttelegram = new WTelegram.Client(Config, File.Open(HttpContext.Current.Server.MapPath("/tempkey.session"),
File created WTelegram.session from verification_code
WTelegram.WTException: 'Exception while reading session file: The input data is not a complete block. Use the correct api_hash/id/key, or delete the file to start a new session'