擅长:python、mysql、java
<p>最直接的方法是在运行bot时保持某种状态,并对回调查询应答执行<code>if-else</code>检查。例如,您可以执行以下操作:</p>
<pre class="lang-py prettyprint-override"><code>from enum import Enum
from dataclasses import dataclass
class Color(Enum):
WHITE = 0
BLACK = 1
@dataclass
class GameState:
chat_id: int
turn: Color
holding_chessman: Chessman
# ...another useful data for game flow
# data is your callback data received from users
# gamestate is local instanse of GameState on server (or database)
# inside callback answer handling:
if gamestate.turn != data.user.color:
return error('Not your turn, hold on!')
if gamestate.holding_chessman is None:
gamestate.holding_chessman = data.pressed_figure
return info('Now press a button where to move a chessman.')
else:
perform_chessman_move()
switch_turn()
return info('You moved a chessman, now another user must turn')
</code></pre>