Nanoseb / ncTelegram

A ncurse Telegram client developed in Python
GNU General Public License v3.0
311 stars 27 forks source link

error upon first run #28

Closed cvc6644 closed 6 years ago

cvc6644 commented 6 years ago
snowy@ccaynoski-pc01:/usr/bin$ nctelegram
Traceback (most recent call last):
  File "/usr/local/bin/nctelegram", line 93, in <module>
    ncTelegram.Telegram_ui(config_full)
  File "/usr/local/lib/python3.5/dist-packages/ncTelegram/__init__.py", line 39, in __init__
    self.start_Telegram()
  File "/usr/local/lib/python3.5/dist-packages/ncTelegram/__init__.py", line 187, in start_Telegram
    pubkey_file=PATH_PUBKEY)
  File "/usr/local/lib/python3.5/dist-packages/pytg/__init__.py", line 33, in __init__
    self.start_cli(telegram=telegram, pubkey_file=pubkey_file, custom_cli_args=custom_cli_args, port=port)
  File "/usr/local/lib/python3.5/dist-packages/pytg/__init__.py", line 86, in start_cli
    self._proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, preexec_fn=preexec_function)
  File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: '~/s/tg'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pytg/__init__.py", line 102, in stop_cli
    if self.sender:
AttributeError: 'Telegram' object has no attribute 'sender'

This is on the windows 10 Ubuntu bash thing and for more or less everything else ive done with this I have been able to just use the straight Ubuntu version of commands

[general]
path_telegram = ~/s/tg
path_pubkey = ~/s/tg/server.pub

are the stuff in my ~/.ncTelegram.conf that was said to change both are symbolic links

cvc6644 commented 6 years ago

I changed them to the absolute paths and the error changed to

snowy@ccaynoski-pc01:/usr/bin$ sudo nctelegram
Traceback (most recent call last):
  File "/usr/local/bin/nctelegram", line 93, in <module>
    ncTelegram.Telegram_ui(config_full)
  File "/usr/local/lib/python3.5/dist-packages/ncTelegram/__init__.py", line 39, in __init__
    self.start_Telegram()
  File "/usr/local/lib/python3.5/dist-packages/ncTelegram/__init__.py", line 187, in start_Telegram
    pubkey_file=PATH_PUBKEY)
  File "/usr/local/lib/python3.5/dist-packages/pytg/__init__.py", line 33, in __init__
    self.start_cli(telegram=telegram, pubkey_file=pubkey_file, custom_cli_args=custom_cli_args, port=port)
  File "/usr/local/lib/python3.5/dist-packages/pytg/__init__.py", line 86, in start_cli
    self._proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, preexec_fn=preexec_function)
  File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg)
PermissionError: [Errno 13] Permission denied
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pytg/__init__.py", line 102, in stop_cli
    if self.sender:
AttributeError: 'Telegram' object has no attribute 'sender'
0xf10413 commented 6 years ago

Hello,

I believe you made a slight mistake in your ~/.ncTelegram.conf. The variable path_telegram was meant to be the path to the telegram-cli program, not the folder of the public key.

Depending on how you installed telegram-cli, the command whereis telegram-cli might help you to locate it. For example, it's /usr/bin/telegram-cli on my Archlinux.

Could you try changing path_telegram to the actual path of telegram-cli ?

cvc6644 commented 6 years ago

That Fixed it now I just have to figure out how all this tool works in general. Thank you for the help.

Nanoseb commented 6 years ago

I will just add: try not to run software as root like this. nctelegram is a user software that should not have any impact on the rest of the system, hence it will never need to be run with sudo