Merge pull request #35 from uriyyo/main

Add ability to run telegram-mcp using uvx
This commit is contained in:
Eugene Evstafev 2025-12-19 09:08:31 +00:00 committed by GitHub
commit 83c2c73a3b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 100 additions and 83 deletions

1
__init__.py Normal file
View file

@ -0,0 +1 @@
# Telegram MCP Package

14
main.py
View file

@ -3129,10 +3129,7 @@ async def create_poll(
) )
if __name__ == "__main__": async def _main() -> None:
nest_asyncio.apply()
async def main() -> None:
try: try:
# Start the Telethon client non-interactively # Start the Telethon client non-interactively
print("Starting Telegram client...") print("Starting Telegram client...")
@ -3150,4 +3147,11 @@ if __name__ == "__main__":
) )
sys.exit(1) sys.exit(1)
asyncio.run(main())
def main() -> None:
nest_asyncio.apply()
asyncio.run(_main())
if __name__ == "__main__":
main()

View file

@ -1,7 +1,6 @@
[build-system] [build-system]
requires = ["setuptools>=42", "wheel"] requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
package-mode = false
[project] [project]
name = "telegram-mcp" name = "telegram-mcp"
@ -26,7 +25,7 @@ requires-python = ">=3.10"
dependencies = [ dependencies = [
"dotenv>=0.9.9", "dotenv>=0.9.9",
"httpx>=0.28.1", "httpx>=0.28.1",
"mcp[cli]>=1.4.1", "mcp[cli]>=1.8.0",
"nest-asyncio>=1.6.0", "nest-asyncio>=1.6.0",
"python-dotenv>=1.1.0", "python-dotenv>=1.1.0",
"python-json-logger>=3.3.0", "python-json-logger>=3.3.0",
@ -37,6 +36,13 @@ dependencies = [
"Homepage" = "https://github.com/chigwell/telegram-mcp" "Homepage" = "https://github.com/chigwell/telegram-mcp"
"Bug Tracker" = "https://github.com/chigwell/telegram-mcp/issues" "Bug Tracker" = "https://github.com/chigwell/telegram-mcp/issues"
[tool.setuptools]
py-modules = ["main", "session_string_generator"]
[project.scripts]
telegram-mcp = "main:main"
telegram-mcp-generate-session = "session_string_generator:main"
[tool.black] [tool.black]
line-length = 99 line-length = 99
target-version = ['py311'] target-version = ['py311']

View file

@ -28,6 +28,8 @@ import sys
# Load environment variables from .env file # Load environment variables from .env file
load_dotenv() load_dotenv()
def main() -> None:
API_ID = os.getenv("TELEGRAM_API_ID") API_ID = os.getenv("TELEGRAM_API_ID")
API_HASH = os.getenv("TELEGRAM_API_HASH") API_HASH = os.getenv("TELEGRAM_API_HASH")
@ -100,3 +102,7 @@ except Exception as e:
print(f"\nError: {e}") print(f"\nError: {e}")
print("Failed to generate session string. Please try again.") print("Failed to generate session string. Please try again.")
sys.exit(1) sys.exit(1)
if __name__ == "__main__":
main()

View file

@ -995,7 +995,7 @@ dev = [
requires-dist = [ requires-dist = [
{ name = "dotenv", specifier = ">=0.9.9" }, { name = "dotenv", specifier = ">=0.9.9" },
{ name = "httpx", specifier = ">=0.28.1" }, { name = "httpx", specifier = ">=0.28.1" },
{ name = "mcp", extras = ["cli"], specifier = ">=1.4.1" }, { name = "mcp", extras = ["cli"], specifier = ">=1.8.0" },
{ name = "nest-asyncio", specifier = ">=1.6.0" }, { name = "nest-asyncio", specifier = ">=1.6.0" },
{ name = "python-dotenv", specifier = ">=1.1.0" }, { name = "python-dotenv", specifier = ">=1.1.0" },
{ name = "python-json-logger", specifier = ">=3.3.0" }, { name = "python-json-logger", specifier = ">=3.3.0" },