cherry-shared2 0.1.26__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cherry_shared/InfoService.py +369 -0
- cherry_shared/__init__.py +5 -0
- cherry_shared/blockchains.py +265 -0
- cherry_shared/bot_strings.py +529 -0
- cherry_shared/constants.py +36 -0
- cherry_shared/emojis.py +63 -0
- cherry_shared/functions.py +511 -0
- cherry_shared/launchpads.py +193 -0
- cherry_shared/types/__init__.py +6 -0
- cherry_shared/types/blockchain.py +51 -0
- cherry_shared/types/dexscreener.py +376 -0
- cherry_shared/types/launchpad.py +72 -0
- cherry_shared/types/leaderboardEntry.py +62 -0
- cherry_shared/types/raid_info.py +92 -0
- cherry_shared/types/user_wallet.py +9 -0
- cherry_shared2-0.1.26.dist-info/METADATA +91 -0
- cherry_shared2-0.1.26.dist-info/RECORD +19 -0
- cherry_shared2-0.1.26.dist-info/WHEEL +5 -0
- cherry_shared2-0.1.26.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,529 @@
|
|
|
1
|
+
from cherry_shared.constants import Constants
|
|
2
|
+
from cherry_shared.emojis import Emojis
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class BotStrings:
|
|
6
|
+
"""Input strings class for Bot."""
|
|
7
|
+
|
|
8
|
+
contact_us = f"{Emojis.solana} <a href='{Constants.website_link}'>Web / Dashboard</a> | {Emojis.telegram} <a href='{Constants.bot_link}'>Cherry BOT</a> | {Emojis.twitter} <a href='{Constants.twitter_link}'>Twitter / X</a>"
|
|
9
|
+
|
|
10
|
+
admin_only_command = "**â ī¸ Only chat admins can use this command.**"
|
|
11
|
+
bounty_amount_too_low = (
|
|
12
|
+
"The bounty amount is too low, please set it to at least {min_amount} {symbol}."
|
|
13
|
+
)
|
|
14
|
+
cancel = "Cancel"
|
|
15
|
+
cant_do_this = (
|
|
16
|
+
"I can't do this. đ Please check if I have all the required permissions."
|
|
17
|
+
)
|
|
18
|
+
cant_do_this_to_admin = "I can't perform this action on admins."
|
|
19
|
+
cant_do_this_to_me = "I can't do this to myself!"
|
|
20
|
+
could_not_check_balance = "Couldn't verify your balance. Please try again."
|
|
21
|
+
filter_already_exists = "This filter already exists. đ"
|
|
22
|
+
filter_not_found = "Mentioned Filter not found in this chat! đ"
|
|
23
|
+
invalid_user = "Invalid user id or username."
|
|
24
|
+
make_me_admin = "**I need admin privileges to do this!**"
|
|
25
|
+
max_gas_fee_exceeded = "ERR100: The Buy&Burn transaction didn't go through since the maximum gas you set in /settings is {max_gas} GWEI, the current gas is {current_gas} GWEI. "
|
|
26
|
+
need_admin_privileges = "**â ī¸ I need admin privileges to execute this operation.**"
|
|
27
|
+
no_filter_found = "No filters found in this chat đ"
|
|
28
|
+
not_admin = "You can't do this as you're not an admin."
|
|
29
|
+
operation_canceled = "Operation Canceled"
|
|
30
|
+
raid_canceled = "Raid canceled"
|
|
31
|
+
some_error_occurred = "Something went wrong. Please try again later. If the problem persists, contact Admin."
|
|
32
|
+
some_error_occurred_no_balance = "âšī¸ An error happened during the buy&burn event, because of insufficient balance, please contact @EthDevMax to check and fix it."
|
|
33
|
+
some_error_occurred_buyAndBurn = "âšī¸ An error happened during the buy&burn event, no ETH was used, please contact @EthDevMax to check and fix it."
|
|
34
|
+
some_error_occurred_unknown = "âšī¸ An error happened during the buy&burn event, please contact @EthDevMax to check and fix it."
|
|
35
|
+
contact_support = f"<i>Contact <a href={Constants.support_group_link}>Support</a> if you have any issues</i>"
|
|
36
|
+
# Commands Help
|
|
37
|
+
add_filter_command = (
|
|
38
|
+
"**Add a filter to the chat.**\n\n"
|
|
39
|
+
+ "If you want to attach media to the filter you can use this command by mentioning the word and replying to a already sent message you want to set as response.\n\n"
|
|
40
|
+
+ "**Usage:** Reply to message with `/filter <trigger>`\n\n"
|
|
41
|
+
+ "**Example:**\n/filter /social\n\n"
|
|
42
|
+
+ "**OR**\n\n"
|
|
43
|
+
+ "You can also use this command by mentioning the word and sending the response message.\n\n"
|
|
44
|
+
+ "**Usage:** `/filter <trigger> <response>`\n\n"
|
|
45
|
+
+ "**Example:**\n/filter /social This is a social message.\n\n"
|
|
46
|
+
+ "__**Note:**__ The word will be case insensitive."
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
remove_filter_command = (
|
|
50
|
+
"**Remove a filter from the chat.**\n\n"
|
|
51
|
+
+ "You can use this command by mentioning the word.\n\n"
|
|
52
|
+
+ "**Usage:** `/rmfilter <word>`\n\n"
|
|
53
|
+
+ "**Example:**\n/rmfilter /social"
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
ban_command = (
|
|
57
|
+
"**Ban a user from the chat.**\n\n"
|
|
58
|
+
+ "Reply to a message sent by the user with this command to ban the user from the chat.\n\n"
|
|
59
|
+
+ "You can also use this command by mentioning the user."
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
unban_command = (
|
|
63
|
+
"**Unban a already banned user from the chat.**\n\n"
|
|
64
|
+
+ "Reply to a message sent by the user with this command to unban the user from the chat.\n\n"
|
|
65
|
+
+ "You can also use this command by mentioning the user."
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
mute_command = (
|
|
69
|
+
"**Mute a user in the chat.**\n\n"
|
|
70
|
+
+ "Reply to a message sent by the user with this command to mute the user in the chat.\n\n"
|
|
71
|
+
+ "You can also use this command by mentioning the user."
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
unmute_command = (
|
|
75
|
+
"**Unmute a muted user in the chat.**\n\n"
|
|
76
|
+
+ "Reply to a message sent by the user with this command to unmute the user in the chat.\n\n"
|
|
77
|
+
+ "You can also use this command by mentioning the user."
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
quick_setup_guide_message = f"""{Emojis.fire} <b>Quick Setup Guide:</b>
|
|
81
|
+
/add - Connect token
|
|
82
|
+
/buybot - Configuration
|
|
83
|
+
/settings - Add socials to bot!
|
|
84
|
+
/raid - Start X raids
|
|
85
|
+
/Commands - List of all commands
|
|
86
|
+
|
|
87
|
+
{Emojis.dollar} Paid Features:
|
|
88
|
+
{Emojis.cup} BuyBot Trending: /Trend
|
|
89
|
+
{Emojis.hourglass} RaidBot Trending: /boost
|
|
90
|
+
{Emojis.chart} VolumeBot: /volume
|
|
91
|
+
{Emojis.money} HoldersBot: /holder
|
|
92
|
+
{Emojis.bookmark} Button ads: /advertise"""
|
|
93
|
+
|
|
94
|
+
bot_start_message = f"""{Emojis.cup} <b>Cherry Telegram Bot</b>
|
|
95
|
+
|
|
96
|
+
{Emojis.check} Track buys in real-time, coordinate community raids, and boost your token's visibility with our premium features.
|
|
97
|
+
|
|
98
|
+
{quick_setup_guide_message}
|
|
99
|
+
|
|
100
|
+
{Emojis.solana} <a href='{Constants.website_link}'>Website / Dashboard</a>
|
|
101
|
+
{Emojis.twitter} <a href='{Constants.twitter_link}'>Twitter / X</a>
|
|
102
|
+
{Emojis.trending} <a href='{Constants.trending_channel_link}'>Trending hub</a>
|
|
103
|
+
"""
|
|
104
|
+
# Long strings
|
|
105
|
+
bot_welcome_message = f"""{Emojis.spark} <b>Cherry Bot added Successfully!</b>
|
|
106
|
+
|
|
107
|
+
{quick_setup_guide_message}
|
|
108
|
+
|
|
109
|
+
âī¸ Make me admin to use commands!"""
|
|
110
|
+
|
|
111
|
+
group_welcome_message = """Welcome {mention} to the group!"""
|
|
112
|
+
|
|
113
|
+
private_start_message = f"""<b>The Ultimate Telegram Bot for Web3 Projects</b>
|
|
114
|
+
|
|
115
|
+
Enhance your group management and engage your community with Cherry Bot's powerful tools.
|
|
116
|
+
|
|
117
|
+
/add - Integrate a new project with Cherry Bot.
|
|
118
|
+
/trend - Boost your project's visibility in trending.
|
|
119
|
+
/raid - Start a raid to increase engagement and activity.
|
|
120
|
+
/boost - Purchase Raid Points for <a href='{Constants.raid_leaderboard}'>Raid Leaderboard</a>.
|
|
121
|
+
/portal - Create a portal
|
|
122
|
+
"""
|
|
123
|
+
tutorial_message = """**Cherry Bot Tutorials**
|
|
124
|
+
|
|
125
|
+
**Quick Setup Guide: How to Order Cherry Trending**
|
|
126
|
+
|
|
127
|
+
đ Access Cherry Bot on Telegram. [Link here](https://t.me/cherrys).
|
|
128
|
+
đ In the Cherry Bot DMs, write "/trend" and click on "Start".
|
|
129
|
+
đ Send the token's Contract Address, Pair Address.
|
|
130
|
+
đ Select the correct token type and confirm it.
|
|
131
|
+
đ Send the token's group or portal link for tracking.
|
|
132
|
+
đ Select your preferred trending slot.
|
|
133
|
+
đ Send the payment to the shown address and click on "Verify Payment"
|
|
134
|
+
|
|
135
|
+
**Buy Bot** â gives you an overview of how to setup a launched token & presale token buy bot, using custom emoji/media/buy size/circulating supply.
|
|
136
|
+
|
|
137
|
+
https://www.youtube.com/watch?v=M7NNqKZhSJ8&t=4s
|
|
138
|
+
|
|
139
|
+
**Portal** â gives you an overview of how to setup a working portal for your Telegram group using custom text & media.
|
|
140
|
+
|
|
141
|
+
https://www.youtube.com/watch?v=YFDWGgABTvI
|
|
142
|
+
|
|
143
|
+
**Welcome** â gives you an overview of how to setup an appealing welcome message with customized text/media/buttons to greet your new Telegram members.
|
|
144
|
+
|
|
145
|
+
https://www.youtube.com/watch?v=dcmKhLK-qF8&t=15s
|
|
146
|
+
|
|
147
|
+
**Raid** â gives you an overview of normal/quick/bounty raid functions to increase your community engagement effort within your Telegram group.
|
|
148
|
+
|
|
149
|
+
https://www.youtube.com/watch?v=zHSQIIeyGA4&t=8s"""
|
|
150
|
+
filling_format = """You can use the following fillings to customize the message. For example, you could mention a user in the welcome message.
|
|
151
|
+
|
|
152
|
+
Supported fillings:
|
|
153
|
+
- {first}: The user's first name.
|
|
154
|
+
- {last}: The user's last name.
|
|
155
|
+
- {fullname}: The user's full name.
|
|
156
|
+
- {username}: The user's username. If they don't have one, mentions the user instead.
|
|
157
|
+
- {mention}: Mentions the user with their firstname.
|
|
158
|
+
- {id}: The user's ID.
|
|
159
|
+
- {chatname}: The chat's name.
|
|
160
|
+
- {botname}: The bot's name.
|
|
161
|
+
- {botusername}: The bot's username.
|
|
162
|
+
|
|
163
|
+
Welcome {mention} to {chatname}!"""
|
|
164
|
+
|
|
165
|
+
private_help_message = """**- What does Cherry bot do?**
|
|
166
|
+
-- allows you to send us money for nothing /trend
|
|
167
|
+
â allows for the creation of raids /raid
|
|
168
|
+
--buybot to track/display buys of your token in your group. specify your token blockchain and contract in /settings.
|
|
169
|
+
--portal to reduce spam and bots. use /setup
|
|
170
|
+
--It can function as an alternative for rose (/config,/mute,/ban,/filter,etc...)
|
|
171
|
+
|
|
172
|
+
**- How to start a raid? And how to cancel an on-going on?**
|
|
173
|
+
â Just send /raid to start a raid, it will ask you for the necessary data. If you want to cancel an on-going raid, send /stop.
|
|
174
|
+
|
|
175
|
+
**- Is there any costs to use the bot?**
|
|
176
|
+
â All the bot features are totally free.
|
|
177
|
+
- premium services(trending, raid boosts) cost money."""
|
|
178
|
+
|
|
179
|
+
group_user_help_message = """Here are the available group commands:
|
|
180
|
+
|
|
181
|
+
/filters: Show all chat filters - Displays all chat filters set in the group.
|
|
182
|
+
/admins: Show all chat admins - Lists all admins of the group.
|
|
183
|
+
/report: Report a user to admins - Reports a user to the group admins.
|
|
184
|
+
"""
|
|
185
|
+
group_admin_help_message = """Here are the available commands:
|
|
186
|
+
|
|
187
|
+
/raid: Setup new Raid - Initiates a Raid event.
|
|
188
|
+
/stop: Stop Raid - Stops the ongoing Raid.
|
|
189
|
+
/restore: Allow users to send messages - Restores the ability for users to send messages.
|
|
190
|
+
/portal: Setup verification portal for the group - Sets up a verification portal for the group.
|
|
191
|
+
/settings: Configure group settings - Adjusts various group settings.
|
|
192
|
+
/config: Manage bot settings in the group - Manages bot settings within the group.
|
|
193
|
+
/ban: Ban a user from the group - Bans a user from the group.
|
|
194
|
+
/unban: Unban a user from the group - Removes a user ban from the group.
|
|
195
|
+
/mute: Mute a user in the group - Mutes a user in the group.
|
|
196
|
+
/unmute: Unmute a user in the group - Unmutes a previously muted user in the group.
|
|
197
|
+
/filter: Add or modify a chat filter - Adds or modifies a chat filter for the group.
|
|
198
|
+
/rmfilter: Remove a chat filter - Removes a chat filter from the group.
|
|
199
|
+
/add: Set the token address for the group - Sets the token address for the group.
|
|
200
|
+
/buybot: Buy Bot Settings - Purchases bot settings for the group.
|
|
201
|
+
/delete: Delete the group token - Deletes the group token.
|
|
202
|
+
/block: set or get blocked words in the chat.
|
|
203
|
+
/unblock: remove a blocked word in the chat.
|
|
204
|
+
"""
|
|
205
|
+
private_owner_help_message = """Here are the available owner commands:
|
|
206
|
+
|
|
207
|
+
/commands: List of all Admin Commands - Displays a list of all admin commands.
|
|
208
|
+
/admin: List of all Admins - Lists all admins of the bot.
|
|
209
|
+
/broadcast: Send a message to all users - Sends a message to all users of the bot.
|
|
210
|
+
/message_to: Send a message to a specific user - Sends a message to a specific user.
|
|
211
|
+
/stats: View bot live stats - Displays live statistics of the bot.
|
|
212
|
+
/groups: View bot groups list - Shows a list of groups the bot is in.
|
|
213
|
+
"""
|
|
214
|
+
custom_button_message = f"""**Buttons**
|
|
215
|
+
|
|
216
|
+
One of Telegram's most useful features is the ability to add buttons to your welcome messages. Buttons can be used to link to useful resources.
|
|
217
|
+
|
|
218
|
+
**How to add buttons?**
|
|
219
|
+
- The following syntax will create a button with the text "Telegram" which will open [telegram.org](https://telegram.org) when clicked.
|
|
220
|
+
-> `Telegram:https://telegram.org`
|
|
221
|
+
|
|
222
|
+
- You can add multiple buttons by making a new line for each button.
|
|
223
|
+
|
|
224
|
+
**Example**
|
|
225
|
+
```
|
|
226
|
+
Telegram:https://telegram.org
|
|
227
|
+
Website:https://telegram.org
|
|
228
|
+
```
|
|
229
|
+
"""
|
|
230
|
+
|
|
231
|
+
ban_mute_success = "{from_mention} has {operation} {to_mention} successfully."
|
|
232
|
+
unban_mute_success = "{from_mention} {operation} {to_mention}."
|
|
233
|
+
|
|
234
|
+
portal_setup_message = "To setup the portal forward this message into a channel which I have admin in\n\nportal-{portal_id}"
|
|
235
|
+
|
|
236
|
+
portal_verification_message = (
|
|
237
|
+
"""{group_name} is being protected by @{bot_username}."""
|
|
238
|
+
)
|
|
239
|
+
|
|
240
|
+
portal_verification_success = """Verified, you can join the **{group_name}** group using this temporary link:
|
|
241
|
+
|
|
242
|
+
{invite_link}
|
|
243
|
+
|
|
244
|
+
This link will expire in 5 minutes."""
|
|
245
|
+
|
|
246
|
+
insufficient_balance_html = """<b>Insufficient Balance</b>
|
|
247
|
+
You do not have enough funds to perform this operation.
|
|
248
|
+
|
|
249
|
+
<b>Current Balance</b>: {balance} {token}
|
|
250
|
+
|
|
251
|
+
Please add more funds to the following wallet and try again:
|
|
252
|
+
|
|
253
|
+
đ Address: <code>{wallet_address}</code>"""
|
|
254
|
+
|
|
255
|
+
insufficient_balance = """Insufficient Balance
|
|
256
|
+
You do not have enough funds to perform this operation.
|
|
257
|
+
|
|
258
|
+
Current Balance: {balance} {token}
|
|
259
|
+
|
|
260
|
+
Please add more funds to the following wallet and try again:
|
|
261
|
+
|
|
262
|
+
đ Address: {wallet_address}"""
|
|
263
|
+
|
|
264
|
+
raid_command_message = f"""{Emojis.spark} <b>{{setup_by}} Started a New Raid</b> {Emojis.spark}
|
|
265
|
+
|
|
266
|
+
<b>Now configure the raid by clicking the buttons below.</b>
|
|
267
|
+
"""
|
|
268
|
+
|
|
269
|
+
lock_message = (
|
|
270
|
+
"""đ <b>The group is now locked until this post reaches all the targets</b> """
|
|
271
|
+
)
|
|
272
|
+
raid_start_message = "<b>Raid in Progress</b>"
|
|
273
|
+
|
|
274
|
+
raid_message = f"""{Emojis.rocket} {{header}} | {{points}} pts
|
|
275
|
+
|
|
276
|
+
{{progress_bar}}
|
|
277
|
+
|
|
278
|
+
{Emojis.like} Likes: {{likes_stats}}
|
|
279
|
+
{Emojis.comment} Comments: {{comments_stats}}
|
|
280
|
+
{{non_youtube_metrics}}
|
|
281
|
+
âŗ <b>{{post_link}}</b>
|
|
282
|
+
|
|
283
|
+
{{leaderboard_msg}}"""
|
|
284
|
+
non_youtube_raid_metrics = f"""{Emojis.retweet} {{share_type}}s: {{shares_stats}}
|
|
285
|
+
{Emojis.bookmark} Bookmarks: {{bookmarks_stats}}
|
|
286
|
+
"""
|
|
287
|
+
|
|
288
|
+
raid_timeout = f"""{Emojis.timer} <b>Time is Up, Try Again!</b> | {{points}} pts
|
|
289
|
+
|
|
290
|
+
{Emojis.like} Likes: <b>{{final_likes}}</b>
|
|
291
|
+
{Emojis.comment} Comments: <b>{{final_comments}}</b>
|
|
292
|
+
{Emojis.retweet} {{share_type}}s: <b>{{final_shares}}</b>
|
|
293
|
+
{Emojis.bookmark} Bookmarks: <b>{{final_bookmarks}}</b>
|
|
294
|
+
|
|
295
|
+
âŗ {{post_link}}
|
|
296
|
+
|
|
297
|
+
{{leaderboard_msg}}"""
|
|
298
|
+
|
|
299
|
+
raid_success_msg = (
|
|
300
|
+
f"{Emojis.spark} Raid Completed | <b>{{earned}}</b> Earned\n\n"
|
|
301
|
+
f"{Emojis.timer} Duration : {{time_elapsed}}\n"
|
|
302
|
+
f"âŗ {{post_link}}\n\n"
|
|
303
|
+
f"{Emojis.like} Likes: <b>{{likes}} {Emojis.check}</b>\n"
|
|
304
|
+
f"{Emojis.comment} Comments: <b>{{comments}} {Emojis.check}</b>\n"
|
|
305
|
+
f"{Emojis.retweet} {{share_type}}s: <b>{{shares}} {Emojis.check}</b>\n"
|
|
306
|
+
f"{Emojis.bookmark} Bookmarks: <b>{{bookmarks}} {Emojis.check}</b>\n\n"
|
|
307
|
+
f"{{leaderboard_msg}}\n\n"
|
|
308
|
+
f"{{gp_link_hint}}"
|
|
309
|
+
)
|
|
310
|
+
boost_hint = f"<emoji id=5467519850576354798>â</emoji> Next time use /Boost to start a {Emojis.rocket} <b>Boosted Raid</b> {Emojis.rocket} To reach maximum interaction: <a {Constants.cherry_docs}/setup-guides/setup-a-twitter-raid'>Learn more</a>"
|
|
311
|
+
not_token_burnt_message = "âš No tokens were burnt as the bounty amount was not set."
|
|
312
|
+
burn_tx_will_be_sent = f"{Emojis.fire} Buy and burn transactions will be sent in a few minutes. {Emojis.fire}"
|
|
313
|
+
boosted_raid_success = (
|
|
314
|
+
f"{Emojis.cup} You can claim your prize in the @cherrygame_io_bot. {Emojis.cup}"
|
|
315
|
+
)
|
|
316
|
+
raid_error_info_message = """â ī¸ Raid Error Information âšī¸
|
|
317
|
+
|
|
318
|
+
{error_message}
|
|
319
|
+
|
|
320
|
+
Tx Hash: {tx_hash}
|
|
321
|
+
User: {user_id}
|
|
322
|
+
User Wallet: {user_wallet}
|
|
323
|
+
Group: {group_id}
|
|
324
|
+
Contract: {contract_address}
|
|
325
|
+
Chain: {chain}
|
|
326
|
+
"""
|
|
327
|
+
token_event = f"""{Emojis.spark} <b>New @cherrys Install</b>
|
|
328
|
+
|
|
329
|
+
<b><a href='{{group_link}}'>{{group_name}}</a> Just Installed @cherrys - time to blast off</b><emoji id=5445284980978621387>đ</emoji>
|
|
330
|
+
|
|
331
|
+
{{chart}}{Emojis.up} <a href='{{trending_channel}}'>Trending</a>"""
|
|
332
|
+
|
|
333
|
+
trend_command_message = f"""{Emojis.check} Trending on <a href='{Constants.trending_channel_link}'>Cherry Trending</a>
|
|
334
|
+
{Emojis.check} Trending on <a href='{Constants.website_link}'>Cherry Website</a>
|
|
335
|
+
{Emojis.check} Entered into trending alerts
|
|
336
|
+
{Emojis.check} All time high alerts
|
|
337
|
+
{Emojis.check} Buy alerts
|
|
338
|
+
{Emojis.bookmark} MASS DM TO 300k+ Real Users
|
|
339
|
+
{Emojis.bookmark} Button Advertisement
|
|
340
|
+
"""
|
|
341
|
+
|
|
342
|
+
raid_channel_message = f"""{Emojis.cup} <b><a href="{{chat_link}}">{{group_title}}</a></b> Started New Raid!\n
|
|
343
|
+
{Emojis.like} Likes: <b>{{target_likes}}</b>
|
|
344
|
+
{Emojis.comment} Comments: <b>{{target_comments}}</b>
|
|
345
|
+
{{non_youtube_info}}
|
|
346
|
+
{Emojis.twitter} <b>{{post_link}}</b>\n
|
|
347
|
+
{Emojis.cup} <a href='{Constants.raid_leaderboard}'>Raid Leaderboard #{{rank}}</a> | {{score}}\n
|
|
348
|
+
{contact_us}"""
|
|
349
|
+
|
|
350
|
+
raid_channel_non_youtube = f"""{Emojis.retweet} {{share_type}}s: <b>{{target_shares}}</b>
|
|
351
|
+
{Emojis.bookmark} Bookmarks: <b>{{target_bookmarks}}</b>"""
|
|
352
|
+
trend_message = (
|
|
353
|
+
f"{Emojis.spark} <b>{{symbol}} Trending Boost</b> {Emojis.spark}\n\n"
|
|
354
|
+
f"<b>Top {{position}} Trending</b> | <b>{{hours}} Hours {{promo}}</b>\n"
|
|
355
|
+
f"Token: <b><a href='{{chart_link}}'>{{name}}</a></b> \n"
|
|
356
|
+
f"Telegram: <b>{{portal_link}}</b>\n\n"
|
|
357
|
+
f"{Emojis.money} Activate the boost by sending {{old_price}}<b>{{price}} {{chain_symbol}}</b> to: "
|
|
358
|
+
f"<b><code>{{address}}</code></b>\n\n"
|
|
359
|
+
f"Step 1: Send <b>{{price}} {{chain_symbol}}</b>\n"
|
|
360
|
+
f"Step 2: Click <b>Verify Payment</b> to verify the transaction \n"
|
|
361
|
+
f"Step 3: Watch <b>{{symbol}}</b> soar to the <b>Top {{position}}</b> trending shortly! \n\n"
|
|
362
|
+
f"{contact_support}"
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
trend_select_period_message = f"""<a href='{{portal_link}}'>${{token_name}}</a> Trending Boost
|
|
366
|
+
|
|
367
|
+
<b>Top 3 Benefits</b> {Emojis.fire}
|
|
368
|
+
|
|
369
|
+
{Emojis.check} Trending on <a href='{Constants.trending_channel_link}'>Cherry Trending Channel</a>
|
|
370
|
+
{Emojis.check} Trending on <a href='{Constants.website_link}'>Cherry Website</a>
|
|
371
|
+
{Emojis.check} Entered into trending alerts
|
|
372
|
+
{Emojis.check} All time high alerts
|
|
373
|
+
{Emojis.check} Buy alerts
|
|
374
|
+
{Emojis.bookmark} MASS DM TO 300k+ Real Users
|
|
375
|
+
{Emojis.bookmark} Button Advertisement
|
|
376
|
+
|
|
377
|
+
<b>TOP 10 Benefits</b>
|
|
378
|
+
|
|
379
|
+
{Emojis.check} Trending on <a href='{Constants.trending_channel_link}'>Cherry Trending Channel</a>
|
|
380
|
+
{Emojis.check} Trending on <a href='{Constants.website_link}'>Cherry Website</a>
|
|
381
|
+
{Emojis.check} Entered into trending alerts
|
|
382
|
+
{Emojis.check} All time high alerts
|
|
383
|
+
{Emojis.check} Buy alerts
|
|
384
|
+
{Emojis.bookmark} Button Advertisement
|
|
385
|
+
|
|
386
|
+
<b>Select the Period:</b>"""
|
|
387
|
+
raid_bounty_channel_msg = f"""{Emojis.cherry} New @cherrys Bounty Raid in <a href="{{group_link}}">{{group_name}}</a> {Emojis.cherry}
|
|
388
|
+
|
|
389
|
+
{Emojis.money} {{bounty_amount}} Buyback Bounty! {Emojis.money}
|
|
390
|
+
|
|
391
|
+
Raid for a buyback now: {{post_link}}
|
|
392
|
+
|
|
393
|
+
{Emojis.like} Likes: <b>{{current_likes}} (+{{target_likes}})</b>
|
|
394
|
+
{Emojis.comment} Comments: <b>{{current_comments}} (+{{target_comments}})</b>
|
|
395
|
+
{Emojis.retweet} {{share_type}}s: <b>{{current_shares}} (+{{target_shares}})</b>
|
|
396
|
+
{Emojis.bookmark} Bookmarks: <b>{{current_bookmarks}} (+{{target_bookmarks}})</b>
|
|
397
|
+
|
|
398
|
+
{{chart}}{Emojis.up} <a href="{{trending_channel}}">Trending</a>
|
|
399
|
+
"""
|
|
400
|
+
|
|
401
|
+
promo_command = """
|
|
402
|
+
âĄī¸ <b>Set Up Your Wallets to Receive Referral Commissions!</b> âĄī¸
|
|
403
|
+
|
|
404
|
+
Before you start earning, make sure your wallet addresses are configured so you receive referral commissions directly to your account.
|
|
405
|
+
|
|
406
|
+
đ <b>Required Wallets: {wallets}</b>
|
|
407
|
+
|
|
408
|
+
"""
|
|
409
|
+
volume_command = f"""<b>Grow Your Token Volume With Ease!</b>
|
|
410
|
+
|
|
411
|
+
Works only for {Emojis.solana} Solana projects!
|
|
412
|
+
Dexes: <b>Raydium & <b>Pumpswap</b>
|
|
413
|
+
|
|
414
|
+
<b>How It Works:</b>
|
|
415
|
+
{Emojis.positions[1]} Choose your desired package
|
|
416
|
+
{Emojis.positions[2]} Complete your payment
|
|
417
|
+
{Emojis.positions[3]} Watch your Volume increase!
|
|
418
|
+
|
|
419
|
+
<b>Why Boost Your Volume?</b>
|
|
420
|
+
{Emojis.check} Show real-time traction
|
|
421
|
+
{Emojis.check} Rank higher on tracking sites
|
|
422
|
+
{Emojis.check} Attract investor attention
|
|
423
|
+
{Emojis.check} Get noticed by screening tools
|
|
424
|
+
{Emojis.check} Cost based on volume chosen.
|
|
425
|
+
|
|
426
|
+
{Emojis.timer} <i>Volume will begin within 1â5 minutes of purchase. If not, please contact <a href={Constants.support_group_link}>Support</a>.</i>"""
|
|
427
|
+
|
|
428
|
+
volume_pay = (
|
|
429
|
+
f"{Emojis.spark} <b><a href='{{token_link}}'>{{token_name}}</a> Volume Boost</b> {Emojis.spark}\n\n"
|
|
430
|
+
f"{Emojis.money} Increase + ${{volume}} Volume to <b>{{token_name}}</b> by sending <b>{{price}} {{chain_symbol}}</b> to: "
|
|
431
|
+
f"<b><code>{{address}}</code></b>\n\n"
|
|
432
|
+
f"Step 1: Send <b>{{price}} {{chain_symbol}}</b>\n"
|
|
433
|
+
f"Step 2: Click <b>Verify Payment</b> to verify the transaction \n"
|
|
434
|
+
f"{Emojis.rocket} <b>Get ready for a Boost in the Tokens Volume!</b> {Emojis.rocket} \n\n"
|
|
435
|
+
f"{{multi_wallet}}"
|
|
436
|
+
f"{contact_support}"
|
|
437
|
+
)
|
|
438
|
+
|
|
439
|
+
entered_leaderboard = (
|
|
440
|
+
f"{Emojis.cup} <b><a href='{{group_link}}'>{{group_name}}</a> Just Entered <a href='{Constants.raid_leaderboard}'>Raid Leaderboard</a></b>\n\n"
|
|
441
|
+
f"{Emojis.up} Position: <b>#{{position}}</b>\n"
|
|
442
|
+
f"{Emojis.bookmark} Raid Points: <b>{{points}}</b> {Emojis.spark}\n"
|
|
443
|
+
f"{Emojis.chart} Points to Next Position: <b>{{points_to_next}}</b>\n\n"
|
|
444
|
+
f"{{leaderboard_message}}\n\n"
|
|
445
|
+
f"{contact_us}"
|
|
446
|
+
)
|
|
447
|
+
|
|
448
|
+
holder_command = f"""<b>Works only for {Emojis.solana} Solana projects!</b>
|
|
449
|
+
|
|
450
|
+
How It Works:
|
|
451
|
+
{Emojis.positions[1]} Choose your desired package
|
|
452
|
+
{Emojis.positions[2]} Complete your payment
|
|
453
|
+
{Emojis.positions[3]} Watch your holders increase â up to 20 per minute!
|
|
454
|
+
|
|
455
|
+
Why Boost Your Holders?
|
|
456
|
+
{Emojis.check} Show real-time growth
|
|
457
|
+
{Emojis.check} Attract investor attention
|
|
458
|
+
{Emojis.check} Get noticed by screening tools
|
|
459
|
+
{Emojis.check} No hidden fees â pay only for the service!
|
|
460
|
+
|
|
461
|
+
{Emojis.timer} Holders will stay for 1â2 weeks, depending on your package."""
|
|
462
|
+
|
|
463
|
+
holder_pay = (
|
|
464
|
+
f"{Emojis.spark} <b><a href='{{token_link}}'>{{token_name}}</a> Holder Boost</b> {Emojis.spark}\n\n"
|
|
465
|
+
f"{Emojis.money} Add {{count}} Holders to <b>{{token_name}}</b> by sending <b>{{price}} {{chain_symbol}}</b> to: "
|
|
466
|
+
f"<b><code>{{address}}</code></b>\n\n"
|
|
467
|
+
f"Step 1: Send <b>{{price}} {{chain_symbol}}</b>\n"
|
|
468
|
+
f"Step 2: Click <b>Verify Payment</b> to verify the transaction \n"
|
|
469
|
+
f"{Emojis.rocket} <b>Get ready for a Boost in the Token Holders!</b> {Emojis.rocket} \n\n"
|
|
470
|
+
f"{contact_support}"
|
|
471
|
+
)
|
|
472
|
+
|
|
473
|
+
commands_msg = f"""{Emojis.like} <b>User Commands</b>
|
|
474
|
+
/filters - View chat filters
|
|
475
|
+
/report - Report a user
|
|
476
|
+
/invite - Get invitation link
|
|
477
|
+
/leaderboard - View invite leaderboard
|
|
478
|
+
|
|
479
|
+
{Emojis.bookmark} <b>Admin Commands</b>
|
|
480
|
+
/sync - Sync admins
|
|
481
|
+
/portal - Setup verification portal
|
|
482
|
+
/block - Block specific words
|
|
483
|
+
/unblock - Unblock words
|
|
484
|
+
/settings - Group settings
|
|
485
|
+
/config - Bot settings
|
|
486
|
+
/ban - Ban user
|
|
487
|
+
/unban - Unban user
|
|
488
|
+
/mute - Mute user
|
|
489
|
+
/unmute - Unmute user
|
|
490
|
+
/filter - Add/modify filter
|
|
491
|
+
/rmfilter - Remove filter
|
|
492
|
+
/restore - Enable messaging
|
|
493
|
+
|
|
494
|
+
{Emojis.dollar} <b>Buy-bot Commands<b>
|
|
495
|
+
/add - Set token address
|
|
496
|
+
/delete - Remove group token
|
|
497
|
+
/buybot - Bot settings
|
|
498
|
+
/trend - Buy trending
|
|
499
|
+
|
|
500
|
+
{Emojis.cup} <b>Raid-bot Commands</b>
|
|
501
|
+
/raid - Start Raid
|
|
502
|
+
/stop - Stop Raid
|
|
503
|
+
/raidscore - View Raid Score
|
|
504
|
+
/boost - Buy Raid Points"""
|
|
505
|
+
|
|
506
|
+
first_raid_message = (
|
|
507
|
+
f"<b><a href='{{group_link}}'>{{group_name}}</a> Just Started a Raid with @cherrys - Hit that like</b><emoji id=5445284980978621387>đ</emoji>\n\n"
|
|
508
|
+
f"{Emojis.spark} <a href='{{boost_link}}'>Boost Points</a> "
|
|
509
|
+
f"{Emojis.cup} <a href='{Constants.raid_leaderboard}'>Leaderboard</a> "
|
|
510
|
+
f"{Emojis.trending} <a href='{Constants.trending_channel_link}'>Trending</a>"
|
|
511
|
+
)
|
|
512
|
+
|
|
513
|
+
boost_command = (
|
|
514
|
+
f"{Emojis.up} <b><a href='{Constants.raid_leaderboard}'>Raid Leaderboard</a> Boost</b>\n\n"
|
|
515
|
+
f"{Emojis.bookmark} Top 3 appear on all raiding groups\n"
|
|
516
|
+
f"{Emojis.check} Higher rank on <a href='{Constants.raid_leaderboard}'>Raid Leaderboard</a>\n"
|
|
517
|
+
f"{Emojis.check} Entered into raid leaderboard alert\n"
|
|
518
|
+
f"{Emojis.check} Raid start alerts"
|
|
519
|
+
)
|
|
520
|
+
|
|
521
|
+
boost_pay = (
|
|
522
|
+
f"{Emojis.spark} <b>{{group_name}} Raid Points Boost</b> {Emojis.spark}\n\n"
|
|
523
|
+
f"{Emojis.money} Add <b>+{{points}} Points</b> to <b>{{group_name}}</b> in leaderboard by sending <b>{{price}} {{chain_symbol}}</b> to: "
|
|
524
|
+
f"<b><code>{{address}}</code></b>\n\n"
|
|
525
|
+
f"Step 1: Send <b>{{price}} {{chain_symbol}}</b>\n"
|
|
526
|
+
f"Step 2: Click <b>Verify Payment</b> to verify the transaction\n\n"
|
|
527
|
+
f"{Emojis.rocket} <b>Get ready for a Boost in the leaderboard!</b> {Emojis.rocket} \n\n"
|
|
528
|
+
f"{contact_support}"
|
|
529
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
class Constants:
|
|
2
|
+
"""Internal Constants class for Bot, only edit this if you know what you're doing."""
|
|
3
|
+
|
|
4
|
+
bot_username = "cherrys"
|
|
5
|
+
bot_firstname = "Cherry Bot"
|
|
6
|
+
|
|
7
|
+
trending_channel_id = -1001929856388
|
|
8
|
+
test_trending_channel = -1002187493063
|
|
9
|
+
trending_channel_link = "https://t.me/cherrytrending"
|
|
10
|
+
luxury_trending_link = "https://t.me/cherrytrend"
|
|
11
|
+
bot_link = "https://t.me/cherrys"
|
|
12
|
+
website_link = "https://cherrys.io"
|
|
13
|
+
twitter_link = "https://x.com/CherryBotX"
|
|
14
|
+
announcements_channel = "https://t.me/Cherrybotannouncements"
|
|
15
|
+
raid_channel_link = "https://t.me/cherryraid"
|
|
16
|
+
cherry_channels_folder = "https://t.me/addlist/rmaImOUui5U2OTdk"
|
|
17
|
+
raid_leaderboard = "https://t.me/cherryraid/6"
|
|
18
|
+
support_group_link = "https://t.me/cherrysupportadmin"
|
|
19
|
+
cherry_docs = "https://docs.cherrybot.co"
|
|
20
|
+
cherry_ads = "https://t.me/CherryBotads"
|
|
21
|
+
raid_channel_id = -1002205397643
|
|
22
|
+
raid_debug_channel_id = -1002242607566
|
|
23
|
+
ongoing_raids_channel = -1002210794648
|
|
24
|
+
boosted_raids_channel = -1002205397643
|
|
25
|
+
cherry_group_id = -1002013828335
|
|
26
|
+
luxury_group_id = -1003425821137
|
|
27
|
+
luxury_leaderboard_msg_id = 20872
|
|
28
|
+
luxury_raid_channel_thread_id = 14
|
|
29
|
+
timeout = 120 # in seconds (for pyromod listener)
|
|
30
|
+
data_dir = r"data/"
|
|
31
|
+
MAX_RETRIES = 20
|
|
32
|
+
|
|
33
|
+
trend_points_expiry = 12 # Hours
|
|
34
|
+
service_message_delete_delay = 10
|
|
35
|
+
greeting_message_delete_delay = 90
|
|
36
|
+
|
cherry_shared/emojis.py
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
custom_emoji = lambda emoji, id: f"<emoji id={id}>{emoji}</emoji>"
|
|
2
|
+
|
|
3
|
+
def state_emoji(state: bool):
|
|
4
|
+
return "â
" if state else "â"
|
|
5
|
+
|
|
6
|
+
class Emojis:
|
|
7
|
+
"""Emoji class for Bot, only edit this if you know what you're doing."""
|
|
8
|
+
|
|
9
|
+
cherry = custom_emoji("â¨", 5895729833744275779)
|
|
10
|
+
|
|
11
|
+
like = custom_emoji("â¨", 5893517852572392074)
|
|
12
|
+
comment = custom_emoji("â¨", 5893156134721693351)
|
|
13
|
+
retweet = custom_emoji("â¨", 5893471234997361693)
|
|
14
|
+
bookmark = custom_emoji("â¨", 5893042846369323539)
|
|
15
|
+
|
|
16
|
+
money = custom_emoji("â¨", 5895660860864470421)
|
|
17
|
+
check = custom_emoji("đ", 5893133745057175853)
|
|
18
|
+
dollar = custom_emoji("â¨", 5893362129943141788)
|
|
19
|
+
wallet = custom_emoji("â¨", 5893323290553883709)
|
|
20
|
+
|
|
21
|
+
chart = custom_emoji("đ¤", 5893471969436769954)
|
|
22
|
+
up = custom_emoji("â¨", 5893148871931993814)
|
|
23
|
+
|
|
24
|
+
cup = custom_emoji("â¨", 5893031576375139865)
|
|
25
|
+
hourglass = custom_emoji("â¨", 5895516919330512408)
|
|
26
|
+
hashtag = custom_emoji("â¨", 5893145968534100750)
|
|
27
|
+
timer = custom_emoji("â¨", 5893267082316881718)
|
|
28
|
+
loading = custom_emoji("đ§", 5255814461515647475)
|
|
29
|
+
|
|
30
|
+
spark = custom_emoji("â¨", 5895440726610680712)
|
|
31
|
+
rocket = custom_emoji("â¨", 6179494264246901366)
|
|
32
|
+
beating_heart = custom_emoji("â¨", 5895729833744275779)
|
|
33
|
+
fire = custom_emoji("â¨", 5895276701809646261)
|
|
34
|
+
trending = custom_emoji("â¨", 5893214030880840476)
|
|
35
|
+
link = custom_emoji("đ", 5271604874419647061)
|
|
36
|
+
|
|
37
|
+
twitter = custom_emoji("â¨", 5895602629697871568)
|
|
38
|
+
|
|
39
|
+
solana = custom_emoji("â¨", 5895319771741690759)
|
|
40
|
+
raydium = custom_emoji("đ°", 5328025123893029024)
|
|
41
|
+
pumpswap = custom_emoji("â¨", 5895399202866863159)
|
|
42
|
+
telegram = custom_emoji("â¨", 5895584668144638872)
|
|
43
|
+
|
|
44
|
+
positions = {
|
|
45
|
+
1: "<emoji id=5893205921982585828>1ī¸âŖ</emoji>",
|
|
46
|
+
2: "<emoji id=5893223965140197576>2ī¸âŖ</emoji>",
|
|
47
|
+
3: "<emoji id=5893373975462944128>3ī¸âŖ</emoji>",
|
|
48
|
+
4: "<emoji id=5895289127150034662>4ī¸âŖ</emoji>",
|
|
49
|
+
5: "<emoji id=5893224721054440432>5ī¸âŖ</emoji>",
|
|
50
|
+
6: "<emoji id=5893059734180732242>6ī¸âŖ</emoji>",
|
|
51
|
+
7: "<emoji id=5893121873767570573>7ī¸âŖ</emoji>",
|
|
52
|
+
8: "<emoji id=5893225468378750376>8ī¸âŖ</emoji>",
|
|
53
|
+
9: "<emoji id=5895366990612142834>9ī¸âŖ</emoji>",
|
|
54
|
+
10: "<emoji id=5893014783053011644>đ</emoji>",
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
class progress_bar:
|
|
58
|
+
start_empty = custom_emoji("â¨", 5895723910984374701)
|
|
59
|
+
mid_empty = custom_emoji("â¨", 5895276319557557365)
|
|
60
|
+
end_empty = custom_emoji("â¨", 5893246878790721920)
|
|
61
|
+
start_full = custom_emoji("đ¤", 5893477965211113979)
|
|
62
|
+
mid_full = custom_emoji("â¨", 5893102138392844424)
|
|
63
|
+
end_full = custom_emoji("â¨", 5893073297687452787)
|