🏙 UrbanPact

Team city-building on Telegram

← Guide index

🏙 Joining & Founding a City

Getting into a city, founding your own, invites and the city group.

Joining & Founding a City

Joining a city

/cities Lists all public cities with their population and score.
/join Shows all public cities — visible from anywhere, even if you're already in a city.
/join cityhandle Join the named city. If you're in the wilderness, you exit for free (no bus pass) and your resources convert to gold. If you're switching between real cities, a 50g bus pass is charged and you leave your old city automatically. Mayors must transfer their mayorship before they can leave.

Private cities are invite-only — they won't appear in the list and can't be joined by handle.

The city panel

/city is your city's dashboard, split into three tabs you switch with the buttons at the top:

Your full resource stockpile has its own home at /resources, so it's not repeated here — that keeps each tab short and quick to read.

Your city crest

Every city can fly a crest — a small badge that becomes its face wherever the city appears. There are 36 to choose from, sorted into six sets: 🏛 Civic, 🏙 Skyline, 🏭 Industry, 🚢 Trade, 🌳 Nature and 🎭 Culture.

Open it from /city🛡 City Crest. Anyone in the city can look, so you can always see which crest your city flies — but only the mayor and the minister of treasury can change it. It's free, it takes effect immediately, and you can change it as often as you like.

Once set, your crest appears:

If you'd rather not see crest pictures in the bot, /settings🛡 Hide city crests turns them off for you. That's your own view only — it doesn't change what anyone else sees, and crests still show on the website.

Using your own picture

If none of the 36 crests suit your city, you can send a picture of your own. In the crest panel, tap 🖼 Upload your own picture and send the photo as your next message.

Every picture is looked at by a person before it goes anywhere. While it's waiting, your city carries on flying whatever it had — nothing changes until it's approved — and you'll get a message either way. If it isn't approved, your city is untouched and you're welcome to send a different one.

The crest panel tells you how long your picture has been waiting, so you can always tell the difference between "in the queue" and "lost". There's never any need to send it again — but if you change your mind, you can: sending a new picture simply replaces the one waiting, and you don't have to wait for the first to be reviewed first.

A few practical things:

Once you have a picture approved you can switch between it and a crest whenever you like — 🛡 Fly my crest instead and 🖼 Fly my picture — without losing either. 🗑 Delete my picture removes it for good.

Founding a city

Costs 2,000 gold. If you're leaving the wilderness, no bus pass is charged — your leftover resources convert to gold first. If you're leaving an existing city, a 50 gold bus pass is charged. You become the mayor automatically. Mayors cannot abandon their current city; transfer the mayorship first.

/found riverside Riverside Heights Founds a city with handle "riverside" and display name "Riverside Heights".
/found riverside Riverside Heights private Same, but invite-only. The last word "private" triggers the flag.

Inviting players

Any city member can generate a permanent invite link for their city.

/invite Returns a link you can share. Anyone who uses it joins your city directly — no bus ticket needed.

Invite links work for both public and private cities. They're the only way in to a private city.

City Telegram group

Mayors can link a private Telegram group to their city. Once linked, the bot posts live announcements there — build starts, completions, cancellations, new members joining, and tier promotions.

/linkgroup Run this inside your city's Telegram group (bot must be an admin). Links it to your city and sets custom role titles for any role-holders already in the group.
/synctitles Re-syncs role titles in the group. Run this after assigning or changing city roles.

Once a group is linked, a join link appears on /city and /profile for all city members. This is the easiest way to invite teammates who have anonymous profiles — share the link directly and they can join without needing to be @mentioned.

/unlinkgroup Disconnects the city group. Announcements stop; the link is cleared from city and profile views.
↑ Back to the Guide